C++一个头文件中申明的变量如何调用另一个头文件中变量的值

请问一下:
我在第一个头文件中声明变量m_elements
class CGraph
{
public:
vector<CGcodeElement *> m_elements;
}
在第二个头文件中声明
class CCompensation
{
private:
CGraph m_graph;
}
我想在第二.cpp文件中用变量m_elements的值。
请问如何做?我用
m_graph.m_elements;
使用m_elements,提示未定义标识符。

在另一个头文件里 声明这个变量 即 extern CGraph m_graph;
另外,不建议在头文件里定义变量,只写变量声明,建议变量定义在源文件里进行,否则一旦头文件被多个文件包含,就会造成错误
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-16
将 第一个头文件包含进来 使用 #include "..."比如你第一个头文件叫 Graph.h那么你在第二个头文件 处头 #include "Graph.h"注意头文件的 头文件卫士 是否有写
第2个回答  2013-04-16
新手意见,仅供参考。

因为是private的变量,所以class以为的函数无法读取。你可以设置为public,或者做一个读取的它的函数。
第3个回答  2013-04-16
是提示CGraph未定义标识符吧,在第二个头文件里包含第一个头文件没
第4个回答  推荐于2018-04-12
  如下
  C/C++
  // A.cpp
  int a;
  void funcA(void)
  {
  // a = 10;
  }
  // B.cpp
  extern int a;
  void funcB(void)
  {
  // std:cout << a << endl;
  }
  本回答被网友采纳
相似回答