开发者

how to define const string in the c++ method

Inside class, I would like to define some const strings.however the compiler reports error when I use

class A {
static const std::string s = "test" 
};

inside the class. How to do that? Do I have to define the const outside the class defi开发者_Python百科nation?


I think you have to define it outside.

class A {
  static const std::string s;
};

const std::string A::s("test");


You initialize the static member outside the class (unlike C# where you can declare and initialize a member at the same place).

class A {
static const std::string s;
};

// initialize your static members outside of the class definition.
const std::string A::s = "Some text here";


Yes, it should be defined out side the class definition.

const std::string A::s = "test" ;

In C++0x initialization is allowed in the class definition itself (result 1) . But I don't why for std::string type it isn't allowed ( result 2 ).

Ahh .. from the error message it seems it is allowed only for integral data types.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜