我有一个类,它在头文件(.hpp)中定义了以下成员:
public :
int loadData(char* filename);
private :
std::vector<vertex> vertices;
std::vector<triangle> triangles;
std::vector<frame> frames;
vertex
,triangle
和frame
是此头文件中包含的另一个头文件中定义的结构。
现在,在.cpp中函数loadData
的定义中,我无法访问成员vertices
,triangles
和frames
。例如,我有以下代码导致其下显示错误:
cout << "total vertices stored= " << vertices.size() << endl;
motionViewer.cpp:59: error: 'vertices' was not declared in this scope
为什么我无法访问这些成员?
感谢您的帮助。
答案 0 :(得分:4)
盲目注意:因为你忘记将类名放在.cpp中的loadData-method之前:
int className::loadData(char* filename)
但是要确保您需要显示更多代码。
答案 1 :(得分:2)
可能你忘了在cpp文件中使用(class)范围。
像:
void motionViewer::loadData(char* filename)
{
// ...
}
假设班级名称为motionViewer
。
答案 2 :(得分:2)
您确定没有错过::
吗?在cpp:
#include "header_name.h"
ClassName::loadData( ..
//...
答案 3 :(得分:0)