我在一个switch语句中遇到了'case expression not constant'的错误。但是,头文件为使用的常量提供了定义,在其初始化列表中构造函数为它们提供了初始化。
此外,当我鼠标悬停在“问题”语句上时,它将它们识别为常量。
const int ThisClass::EXAMPLE_CONSTANT
error expression must have a constant value
这对我来说似乎有点违反直觉。我进行了一些研究,并找到了一个类似的问题,其他人也遇到过。他们被告知所有常量实际上必须在“main”函数中初始化,并且这是语言的限制。这是真的吗?看起来不太可能。