相关疑难解决方法(0)

无法从成员变量中的initializer-string中推断出数组大小的原因是什么?

考虑一下代码:

struct Foo
{
    const char str[] = "test";
};

int main()
{
    Foo foo;
}
Run Code Online (Sandbox Code Playgroud)

它无法使用g ++和clang ++编译,基本上吐出来

error: array bound cannot be deduced from an in-class initializer

我明白这是标准可能会说的,但有什么特别好的理由吗?由于我们有一个字符串文字,似乎编译器应该能够毫无问题地推断出大小,类似于简单地声明一个类外const的类似C的空终止字符串的情况.

c++ c-strings in-class-initialization c++11

17
推荐指数
2
解决办法
3903
查看次数

标签 统计

c++ ×1

c++11 ×1

c-strings ×1

in-class-initialization ×1