簡體   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