如果 C++ 编译器在所有大括号都没有关闭的情况下到达文件末尾,是否有办法引发警告或错误?我们从不使用将范围溢出到另一个文件中的 header ,并且希望在意外发生时收到编译器警告。编译器 MSVC 2010,但其他人也可能感兴趣。
// Utilities.hpp
namespace example
{
class Utilities
{
}
//<EOF> -> should warn or error
编辑:我愿意在每个文件的末尾放置一个标记/pragma/宏,我知道其中的大括号级别应该为 0。
最佳答案
合理的方法是
#define AT_GLOBAL_SCOPE namespace { }
因为它只能出现在全局或命名空间范围内。因此,不幸的是,它不会捕获另一个 namespace 中缺少的 },但它会捕获类大小写,以及缺少的括号和分号。
关于c++ - 如果文件末尾大括号未闭合,则引发编译错误 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571732/