//任务组结构体
template <class TPara, class TData>
struct TASK_GROUP{
int taskID; //任务分类唯一标识
TPara para; //任务参数(需要初始化和释放)
CAutoArray<TData> dataList(200);//任务列表
};
在结构体里面直接定义一个CAutoArray对象,然后必须要初始化一个大小
结果就报了下面的错误:
error C2059: syntax error : 'constant'
经过在网上百般查找,才知道类成员对象,要使用初始化列表的方式进行初始化,也就是在进入构造函数之前进行初始化,不管这个构造函数是否有参数
怪只怪自己基础不扎实,都忘了,长记性啦,下面是修改后的代码
//任务组结构体 template <class TPara, class TData> struct TASK_GROUP{ TASK_GROUP():dataList(200){} int taskID; //任务分类唯一标识 TPara para; //任务参数(需要初始化和释放) CAutoArray<TData> dataList;//任务列表 };