0
我试过浏览其中的很多其他主题,但没有一个似乎解决了我的具体问题。“表达式必须是指向一个完整的对象类型的指针”
我有一个3X3矩阵类,并具有下列代码,允许用户访问矩阵的行:
V3& M33::operator[](int i)
{
return rows[i]; // rows is a Vector3 array
}
然而,在我的向量类,当我尝试这样做:
void rotateAboutArbitraryAxis(int axis, float degrees)
{
if(axis == 0)
{
M33 m();
V3 row0(1.0f, 0.0f, 0.0f);
V3 row1(0.0f, cos(degrees), -sin(degrees));
V3 row2(0.0f, sin(degrees), cos(degrees));
m[0] = row0; //error
m[1] = row1; //error
m[2] = row2; //error
}
}
上面三个标记的位置标有错误。
智能感知告诉我“表达式必须是指向完整对象类型的指针” 而实际的构建错误是“下标需要数组或指针类型”。
有谁知道这是为什么?如果需要,我可以提供更多信息。
谢谢!
看起来像[最烦人的解析](http://stackoverflow.com/questions/20529434/member-must-have-class-struct-union)。 – 2014-09-06 03:22:34
'M33 m();' - >'M33 m;'? – P0W 2014-09-06 03:26:34