這裏的網站說: http://publib.boulder.ibm.com/infocenter/macxhelp/v6v81/index.jsp?topic=%2Fcom.ibm.vacpp6m.doc%2Flanguage%2Fref%2Fclrc05lvalue.htm If an lvalue appears in a situation in which the compiler exp
class Test {
public:
int n1;
};
Test func() {
return Test();
}
int main() {
func() = Test();
}
這對我沒有任何意義。如何以及爲什麼這是允許的?它是不確定的行爲?如果一個函數返回一個右值,那麼如何將右值設置爲另一個右值?如果我用任何原始類型嘗試
C++ 03§4.2N°1: 左值或類型的右值「陣列NT的」或「的陣列T的未知邊界「可以轉換爲類型爲」指向T的指針「的右值。結果是指向數組的第一個元素的指針。 很長時間以來,我一直在困惑的是,我並不完全理解數組類型的右值意味着什麼。也就是說,我無法想出一個表達式,其類型是一個數組,結果是一個右值。我讀this線程,它基本上提出相同的問題,並且接受的答案是「不,數組類型不存在右值」。我想我可能會對此