файл.
етил, что некоторые из моих функций в классе на самом деле не имеют доступа к объекту, поэтому я сделал ихstatic
, Затем компилятор сказал мне, что все переменные, к которым они обращаются, также должны быть статическими - ну, вполне понятно до сих пор. У меня есть куча строковых переменных, таких как
string RE_ANY = "([^\\n]*)";
string RE_ANY_RELUCTANT = "([^\\n]*?)";
и так далее в классе. Затем я сделал их всеstatic const
потому что они никогда не меняются. Однако моя программа компилируется только в том случае, если я перемещаю их из класса: в противном случае MSVC ++ 2010 жалуется: «Внутри класса могут быть инициализированы только статические интегральные переменные».
Ну, это прискорбно. Есть ли обходной путь? Я хотел бы оставить их в классе, к которому они принадлежат.