菜鸟问题,但想了解以下内容:
想象一下我有一个多文件项目。我在头文件中指定了一个类,以便在项目中的所有文件之间共享,我写了这个:在下一行中:static int test = 0;
static const int MAX = 4;
由于一个定义规则,第一个将是尝试编译的错误。但第二个将编译没有错误。为什么?
据我了解,两者都具有相同的属性:整个执行存储持续时间、类范围和无链接。
有什么帮助吗?
编辑:在标头中测试外部常量声明:extern const int MAX = 4;
强制外部链接产生预期的错误。所以我不明白为什么使用变量它会给我错误,而使用常量却没有。