6
這裏是我的代碼:?無法生成時,類成員(在C++)參考默認賦值運算符
class NO {
public:
NO(std::string& name):nameValue(name){};
private:
std::string& nameValue; // this is now a reference
};
int main(){
int b=10,c=20;
int& d=b;
d=c;
std::string p="alpha", q="beta";
NO x(p), y(q);
x=y;
return 0;
}
我得到的錯誤:
"non-static reference member ‘std::string& NO::nameValue’, can’t use default assignment operator"
爲什麼我不能再 - 當我可以用內建類型做同樣的事情時,將對象與引用成員分配?
謝謝
我覺得這應該工作,但...什麼語義?我們必須期待什麼? 'x.nameValue'必須指向'y.nameValue'或''x.nameValue''必須複製'y.nameValue'的值? (這與「p = q」的做法是一樣的) – 2014-09-04 08:54:50