-
66 votesanswersviews
为什么我的包含防护不能阻止递归包含和多个符号定义?
关于include guards的两个常见问题: FIRST QUESTION: 为什么不包括保护我的头文件的警卫 mutual, recursive inclusion ?我不断收到有关不存在的符号的错误,这些符号显然存在,甚至每次我写下类似的东西时都会出现更奇怪的语法错误: “啊” #ifndef A_H #define A_H #include "b.h" ...... -
5 votesanswersviews
“#pragma once”是否有可能导致错误?
我的所有头文件都使用包括警卫和pragma一次: #pragma once #ifndef FILE_NAME_H #define FILE_NAME_H class foo { //foo interface.. }; #endif /* FILE_NAME_H */ 我知道pragma曾经不是标准的,并且可能在编译器中不一样,但它是否有可能导致错误?以某种方式测试它是否可用,是否...