2
根據C++標準2003:數組或函數左值可以轉換爲右值嗎?
An lvalue (3.10) of a non-function, non-array type T can be converted to an rvalue.
是什麼意思數組和功能不能被轉換爲右值?
根據C++標準2003:數組或函數左值可以轉換爲右值嗎?
An lvalue (3.10) of a non-function, non-array type T can be converted to an rvalue.
是什麼意思數組和功能不能被轉換爲右值?
函數和數組類型都被後面的子句(4.2,4.3)所覆蓋。
左值或類型「數組NT的」或「結合的T未知的數組」的右值可以被轉換爲一個右值類型的 「指針T.」結果是一個指向第一個元素的陣列。
(...)
功能類型T的左值可以轉換爲類型「指針T.」的右值的結果是一個指針,指向 功能。
我甚至不知道函數或數組類型的左值是什麼樣子,假設它甚至存在。 – Neil
@Neil:數組類型的左值只是一個表示數組對象的表達式。給定'int arr [20];',表達式'arr'是一個數組左值。 (它在大多數情況下轉換爲指針,但不是全部情況。) –
@KeithThompson CatPlusPlus的回答很清楚,謝謝。 – Neil