C++ क्लास में स्थिर `std::string` कॉन्स्टेंट को सही तरीके से कैसे परिभाषित करें?
सभी को नमस्ते! मैं C++ सीखना शुरू कर रहा हूँ और क्लास में static constants के साथ काम करते समय एक समस्या का सामना करना पड़ा। मुझे क्लास के अंदर `const std::string` प्रकार का एक static data member परिभाषित करना है।
यहाँ मेरा कोड है:
```cpp
#include
class MyClass {
public:
static const std::string kAppName = "MyApp"; // Error!
};
```
कंपाइलर एक error देता है: "error: 'const std::string kAppName' cannot be initialized by a constant expression" या कुछ इस तरह "non-const static data member must be initialized out of line"। मुझे पता है कि integer types (int, char आदि) और enum के लिए क्लास के अंदर ही initialize किया जा सकता है, लेकिन std::string के लिए यह काम नहीं करता।
मैंने अलग-अलग विकल्प आज़माए: const हटाया, constexpr जोड़ा, लेकिन कुछ भी काम नहीं आया। इंटरनेट पर लिखा है कि static को परिभाषित करने की आवश्यकता है।