我注意到,我在类中的某些函数实际上并未访问该对象,因此我将它们制成了static
。然后编译器告诉我,它们访问的所有变量也必须是静态的-到目前为止,还可以理解。我有一堆字符串变量,例如
string RE_ANY = "([^\\n]*)";
string RE_ANY_RELUCTANT = "([^\\n]*?)";
等等。然后,我将它们全部制成,static const
因为它们永不改变。但是,我的程序只有在将它们移出类时才进行编译:否则,MSVC ++ 2010会抱怨“只能在类中初始化静态常数积分变量”。
好吧,这很不幸。有解决方法吗?我想把它们留在他们所属的类中。
const
和static
。