有一个名为的变量BOT_TIME随我的游戏难度而变化,因此不是const. 有很多文件使用它。我打算将它用作全局变量。
1)在constants.h我声明它extern int BOT_TIME。在constants.cpp,我声明它extern int BOT_TIME。
BUILD => 所有源中对变量的未定义引用(是的,我已经包含了标题)。
2)在constants.h我声明它int BOT_TIME。在constants.cpp,我声明它int BOT_TIME。由于non-consts默认情况下extern,我决定保留该关键字。
BUILD => 变量的多个定义(显示在包含 constants.h 的每个源文件中)
3)在constants.h我声明它extern int BOT_TIME。在constants.cpp,我声明它int BOT_TIME。
这行得通。
问题出在哪里?
将变量初始化为 inconstants.cpp使其适用于情况 1 和 3。
这是怎么回事?哪种方法是正确的?