[英]Accessing std::vector data members of a class from its member functions
我有一个在头文件(.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
为什么我不能访问这些成员?
感谢您的帮助。
盲注:因为您忘记将类名放在.cpp中的loadData方法之前:
int className::loadData(char* filename)
但是请确保您需要显示更多代码。
可能您忘记了使用cpp文件中的(类)作用域。
喜欢:
void motionViewer::loadData(char* filename)
{
// ...
}
假设类的名称为motionViewer
。
您确定没有错过::
吗? 在cpp中:
#include "header_name.h"
ClassName::loadData( ..
//...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.