我定义以下结构
struct CCPtDist
{
double[] wDist = new double[8];
};
我想构建一个名为tmpPtDist的“CCPtDist”变量,并希望为wDist分配一个双数:
CCPtDist tmpPtDist;
tmpPtDist.wDist[0] = 233.7;
但是g++编译器返回错误:“struct CCPtDist”没有名为“wDist”的成员吗?
最佳答案
代码中有很多错误。首先,如果您将数组声明为成员,则将内存作为结构的一部分内联分配。您不能只是为其分配任意指针。其次,我认为您还是不能正确声明数组。第三,您需要在构造函数中添加类似的复杂初始化。
我很惊讶它没有在double[] wDist = new double[8];
行上给您一个编译错误。
尝试将其更改为这样的内容
struct CCPtDist
{
double* wDist;
CCPtDist(): wDist(new double[8]) {}
};