当struct Foo {
Foo(Foo const &orig)
: data{oring.data} { }
Foo &operator = (Foo const &orig) {
data = orig.data;
return *this;
}
private:
std::string data;
};
已经是foo
值时为什么会出错?
const
答案 0 :(得分:0)
这是因为虽然用于创建第二个常量的变量是常量,但您还使用了运算符[] –这不是编译时常量。
因此,您可以这样做:
const a = 42;
const b = a * 3;
您不能这样做:
const array = [42];
const b = a[0];