相关疑难解决方法(0)

为什么在C++头文件中使用#ifndef和#define?

我一直在头文件的开头看到这样的代码:

#ifndef HEADERFILE_H
#define HEADERFILE_H
Run Code Online (Sandbox Code Playgroud)

并在文件的最后是

#endif
Run Code Online (Sandbox Code Playgroud)

这样做的目的是什么?

c c++ c-preprocessor

458
推荐指数
4
解决办法
39万
查看次数

添加一个包含保护会破坏构建

我将#ifndef ..#define ..#endif添加到我项目的文件中,编译器失败了.一旦我删除它或在定义中添加任何其他名称它编译好.可能是什么问题呢?

听起来像文件已经声明,但我不知道在哪里.我很好,只是删除它,但我真的想知道为什么会发生这种情况.

error: expected class-name before ‘{’ token
error: ‘QDesignerFormEditorInterface’ has not been declared
Run Code Online (Sandbox Code Playgroud)

还有其他一些错误.

我实际上是在使用Qt的一个例子,"Custom Widget Plugin Example".

不同之处在于我使用自己的类作为自定义小部件(.h,.cpp和.ui文件).

它可能与包含2的文件有关,尽管这就是示例的实现方式.

c++ macros compiler-errors header include-guards

3
推荐指数
1
解决办法
3714
查看次数

C++我的所有标题都使用了一个函数

我有一个函数在我的所有头文件和main.cpp中是相同的,如果我在main.cpp中定义它们一旦它们被包含它们都能够使用它还是会有编译器问题?

这整个头文件业务还是新手.提前致谢.

c++ header

1
推荐指数
1
解决办法
707
查看次数