我写下一个示例代码,试图复制我得到一个学校项目有关对象的范围误差不申报对象:需要帮助理解的范围
在文件:classTest.cpp
#include "headerone.h"
#include "headertwo.h"
#include <iostream>
using namespace std;
int main() {
ClassOne* pntrObj1 = new ClassOne;
ClassTwo* pntrObj2 = new ClassTwo;
pntrObj1->testClassOne();
return 0;
}
在文件:headerone.h
#ifndef HEADERONE_H
#define HEADERONE_H
#include "headertwo.h"
#include <iostream>
using namespace std;
class ClassOne {
public:
void testClassOne() {
cout << "One Worked\n";
pntrObj2->testClassTwo();
}
};
#endif
在文件:headertwo.h
#ifndef HEADERTWO_H
#define HEADERTWO_H
#include <iostream>
using namespace std;
class ClassTwo {
public:
void testClassTwo() {
cout << "Two Worked";
}
};
#endif
要清楚,错误是:pntrObj2未在此范围内声明。该错误来自文件headerone.h
如果我不得不猜测,我需要以某种方式传递参考,但我不知道从哪里开始。任何帮助表示赞赏。
猜测自己的方式为C++就是要关掉它一个非常简单的方法。你应该从一本好书开始:http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –