Avatar ·

Como definir corretamente uma constante estática std::string em uma classe C++?

Olá a todos! Comecei a estudar C++ e me deparei com um problema ao trabalhar com constantes estáticas em uma classe. Preciso definir um membro de dados estático do tipo `const std::string` dentro da classe. Aqui está meu código: ```cpp #include class MyClass { public: static const std::string kAppName = "MyApp"; // Erro! }; ``` O compilador exibe um erro: "error: 'const std::string kAppName' cannot be initialized by a constant expression" ou algo como "non-const static data member must be initialized out of line". Eu sei que para tipos inteiros (int, char, etc.) e enum é possível inicializar diretamente na classe, mas para std::string isso não funciona. Tentei diferentes abordagens: removi const, adicionei constexpr, mas nada resolveu. Na internet dizem que é necessário definir a constante estática fora da classe, mas não entendo como fazer isso corretamente. Vocês podem me ajudar a declarar e definir uma string constante estática em uma classe? Também gostaria de saber: é possível fazer isso