废话不多说,直接晒出全部代码,也很简洁..
--------------------
#include <iostream>
#include "statement.h"
int main(int argc, char **argv) {
return 0;
}
#ifndef _STATEMENT_H_
#define _STATEMENT_H_
#include "testA.h"
#include "testB.h"
#endif // !_STATEMENT_H_
#ifndef _TESTA_H_
#define _TESTA_H_
#include "statement.h"
class testA
{
public:
testA(testB b);
private:
};
#endif // !_TEST_A_
#include "testA.h"
testA::testA(testB b)
{
//pass
}
testB 类的头文件和 cpp 和 testA 一模一样,这里干脆就不复制粘贴了,简单来说就是啥具体内容都没有..
然后编译不通过,是 VS2017,错误代码都是 C2061,『语法错误:标识符 testB 』出现两次,『语法错误:标识符 testA 』出现一次.
请问这个错误是为何?为什么要阻止这样的行为?应该怎么做?
谢谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.