在课堂上AI有这个:
static NSString * const kMyConstant = @"my constant string";
Run Code Online (Sandbox Code Playgroud)
我怎样才能从B级中引用它?
我有一个标题,core/types.hh由几个不同的构建目标使用.它有以下声明:
core/types.hh
typedef std::size_t Size;
static const Size SZ_MAX = std::numeric_limits<Size>::max();
...
Run Code Online (Sandbox Code Playgroud)
一些目标使用这个常数,有些则没有.所以我得到:
error: 'core::SZ_MAX' defined but not used"
Run Code Online (Sandbox Code Playgroud)
我在Linux上使用带有GCC 4.7.3的scons.我已经-Wall设定并希望保持这种状态.
据我从GCC文档中了解,这不应该发出警告:
-Wunused-variable除了声明之外,每当局部变量或非常量静态变量未使用时发出警告.此警告已启用
-Wall.
所以我不明白为什么我会收到警告(这会变成错误).
在其他答案中,建议人们进行声明extern并在使用常量的文件中进行赋值.许多其他文件都使用此文件,因此如果我这样做,它将失去其常量.此外,这个文件有标题保护,所以我认为这应该意味着常量实际上只创建一次.
我很感激任何帮助!
尤瓦
可能重复: