有人可以幫我找出爲什麼這不起作用。試圖讓一個array.length工作在for循環
int main() {
int A[100];
for(int i=0; i<A.length; i++)
{
}
return 0;
}
這裏是我的錯誤
[Error] request for member 'length' in 'A', which is of non-class type 'int [100]'
有人可以幫我找出爲什麼這不起作用。試圖讓一個array.length工作在for循環
int main() {
int A[100];
for(int i=0; i<A.length; i++)
{
}
return 0;
}
這裏是我的錯誤
[Error] request for member 'length' in 'A', which is of non-class type 'int [100]'
有沒有像length
屬性對於C風格的數組沒有這樣的事情。考慮使用std::array
和它的size()
成員,或者sizeof(A)/sizeof(int)
,如果你堅持使用C風格的數組。
平面陣列沒有任何成員。如果您需要了解它們的長度,你要麼必須跟蹤它,或者你可以寫一個簡單的函數模板來得到它:
template<class T, size_t N>
constexpr size_t size(const T (&)[N]) { return N; }
然後
int A[100];
....
for(int i=0; i < size(A); i++) { ... }
這將是容易得多使用std::array<int, 100>
。這有一個尺寸方法。
'length'是一個Java事物 - 你想'sizeof' – sje397
數組在C++中沒有成員。 – juanchopanza
@ sje397'sizeof'不會給出數組中元素的個數。 – juanchopanza