class dataReader{
private:
ifstream gfxDataFile;
int numVertices;
vector<*vertexData> vertices;
public:
dataReader();
dataReader(string file);
~dataReader();
string getLine();
int numberOfVertices();
};
带向量的行给出了错误
vertexData:非法使用此类型作为表达式,任何帮助人员?
继承了vertexData的定义
class vertexData{
private:
float x;
float y;
float z;
public:
vertexData();
vertexData(float gx, float gy, float gz);
~vertexData();
float getX();
float getY();
float getZ();
};
答案 0 :(得分:2)
*vertexData
应为vertexData*
将*
放在左边意味着,“尝试取消引用以下表达式” - 当然,后面的内容并不是一个有效的表达式(尽管如果你有其他问题试图在模板参数列表中使用表达式...)。声明指针类型时,*
位于类型名称的右侧。
答案 1 :(得分:2)
在类型后面写*
:
vector<*vertexData> vertices; //wrong syntax
vector<vertexData*> vertices; //correct syntax
作为旁注,我认为你不需要一个指针向量。
你为什么不用这个:
vector<vertexData> vertices;