繁体   English   中英

从类的成员函数访问类的std :: vector数据成员

[英]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;

vertextriangleframe是在此头文件中包含的另一个头文件中定义的结构。

现在,在.cpp中的函数loadData的定义中,我无法访问成员的verticestrianglesframes 例如,我有以下代码导致下面显示的错误:

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( ..
//...
  1. 您是否在另一个名称空间中定义结构?
  2. 您是否错过了函数定义的类范围?
  3. 您是否正确定义了结构(例如不缺少尾部分号)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM