首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有类内初始值设定项的C++成员必须为常量

具有类内初始值设定项的C++成员必须为常量
EN

Stack Overflow用户
提问于 2012-11-08 01:22:33
回答 4查看 29K关注 0票数 36

我正在尝试在我的类中创建一个静态字符串:(在我的头文件中)

代码语言:javascript
复制
static string description = "foo";

但是我得到了这个错误:

代码语言:javascript
复制
IntelliSense: a member with an in-class initializer must be const

如果我把它改成这样:

代码语言:javascript
复制
static const string description = "foo";

我得到了这个错误:

代码语言:javascript
复制
IntelliSense: a member of type "const std::string" cannot have an in-class initializer

我做错什么了?

EN

Stack Overflow用户

回答已采纳

发布于 2012-11-08 01:25:34

您可以做的是在头部中声明字符串,并在.cpp中对其进行初始化。

在MyClass.h中

代码语言:javascript
复制
#include <string>
class MyClass
{
  static std::string foo;
}

在MyClass.cpp中

代码语言:javascript
复制
#include "MyClass.h"
std::string MyClass::foo = "bar"
票数 33
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13274876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档