我一直在头文件的开头看到这样的代码:
#ifndef HEADERFILE_H
#define HEADERFILE_H
Run Code Online (Sandbox Code Playgroud)
并在文件的最后是
#endif
Run Code Online (Sandbox Code Playgroud)
这样做的目的是什么?
我将#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的文件有关,尽管这就是示例的实现方式.
我有一个函数在我的所有头文件和main.cpp中是相同的,如果我在main.cpp中定义它们一旦它们被包含它们都能够使用它还是会有编译器问题?
这整个头文件业务还是新手.提前致谢.