是否可以在类的定义中的头(.h)文件中声明一个字符串?
当我想设置默认值时int,我会:
class MyClass
{
static const unsigned int kDATA_IMAGE_WIDTH = 1024;
Run Code Online (Sandbox Code Playgroud)
有没有办法对string对象做同样的事情?
class MyClass
{
static const string kDEFAULT_FILE_EXTENSION = "png"; // fail
Run Code Online (Sandbox Code Playgroud)
我知道我可以用#define......
#define kDEFAULT_FILE_EXTENSION "png"
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑:添加它在类定义中.更新的例子.
Bil*_*eal 13
从您给出的错误消息(强调我的):
错误:非整数类型'const std :: string'的静态数据成员的类内初始化无效
您可以在头文件中执行此操作,但不能在类中执行此操作.
那是:
class MyClass
{
static const std::string invalid = "something";
};
Run Code Online (Sandbox Code Playgroud)
是无效的,但是
static const std::string valid = "something else";
Run Code Online (Sandbox Code Playgroud)
已验证.
如果您希望static只是该类的成员,请执行以下操作:
//Header
class MyClass
{
static const std::string valid;
};
//Implementation (.cpp) file
const std::string MyClass::valid = "something else again";
Run Code Online (Sandbox Code Playgroud)
只能使用"= constant "语法初始化静态const整数类变量.
| 归档时间: |
|
| 查看次数: |
21665 次 |
| 最近记录: |