有一个名为的变量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。
这是怎么回事?哪种方法是正确的?