一个非常奇怪的错误,我并不是要在全局范围内使用非常量变量。我刚刚在为项目做一些基本测试时注意到了这个问题。我有一个带有多个源和头的C ++项目,它们全部使用有效的头保护,并且当前没有错误。
但是我注意到一些奇怪的事情。
#ifndef ANYONEOFTHEHEADERS_H
#define ANYONEOFTHEHEADERS_H
//normal C++ code
#endif
编译正常
#ifndef ANYONEOFTHEHEADERS_H
#define ANYONEOFTHEHEADERS_H
int randomvariable;
//normal C++ code
#endif
ld返回1个退出状态
#ifndef ANYONEOFTHEHEADERS_H
#define ANYONEOFTHEHEADERS_H
int randomvariable{5};
//normal C++ code
#endif
ld返回1个退出状态
#ifndef ANYONEOFTHEHEADERS_H
#define ANYONEOFTHEHEADERS_H
constexpr int randomvariable{5};
//normal C++ code
#endif
编译正常。
有什么特殊原因吗?
在mingw编译器中使用代码块。
编辑:我已经阅读了所有三个重复的问题链接,但这些链接并没有回答我所问的问题,它们只是轻微相关