【发布时间】:2018-12-29 06:31:32
【问题描述】:
我有一个大项目,其中出现了非常难以理解的错误,之后我创建了一个新项目重复它:
项目结构很简单:
main.cpp
第一.h
第二个.h
first.h
#ifndef FIRST_H
#define FIRST_H
#include "second.h"
class first
{
public:
first();
};
#endif // FIRST_H
秒.h
#ifndef SECOND_H
#define SECOND_H
#include "first.h"
class second
{
public:
second();
};
#endif // SECOND_H
一切都很合乎逻辑,但 Qt Creator 的想法却截然不同:
D:\WinFiles\Documents\QT\DELME1\DELME1\second.h:1: error: unterminated conditional directive
对于继承这个结构是需要的,我有点茫然
【问题讨论】:
-
#ifndef FIRST_H #define FIRST_H #endif // FIRST_H 应该可以解决这个问题。还是不行?
-
不,包含守卫不能解决循环包含问题。
-
我在类中没有依赖关系,只有一个文件包含在另一个文件中。
-
你有依赖关系,
first类依赖于second,second类依赖于first。请查看重复链接,应该可以解决您的问题。 -
什么都不懂! Microsoft Visual Studio 2017 编译了这段代码,并没有发现任何奇怪的地方:========== Build:successful:1,with errors:0,no change:0,skipped:0 == ========
标签: c++ qt qt-creator