【发布时间】:2011-04-12 23:22:40
【问题描述】:
是否可以在头文件 (.h) 中,在类的定义中声明一个字符串?
当我想设置默认 int 时,我会这样做:
class MyClass
{
static const unsigned int kDATA_IMAGE_WIDTH = 1024;
有没有办法对string 对象做同样的事情?
class MyClass
{
static const string kDEFAULT_FILE_EXTENSION = "png"; // fail
我知道我可以使用#define...
#define kDEFAULT_FILE_EXTENSION "png"
谢谢
编辑:补充说它在类定义中。更新示例。
【问题讨论】:
-
您使用的是什么编译器,错误是什么?这对我有用。
-
Xcode(是 gcc 吗?)错误是:
error: invalid in-class initialization of static data member of non-integral type 'const std::string' -
你确定你在正确的命名空间内。试试 std::string。你在课堂上这样做吗?
-
@Ross:嗯,是在上课吗?在课堂上使该陈述大不相同(并且无效)。在类定义之外它很好。
-
嗯...不建议在头文件中声明这样的变量。
标签: c++