有人可以帮我弄清楚为什么这不起作用。
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]'
答案 0 :(得分:3)
C样式数组没有类似length
属性的东西。如果您坚持使用C样式数组,请考虑使用std::array
及其size()
成员或sizeof(A)/sizeof(int)
。
答案 1 :(得分:2)
普通数组没有任何成员。如果您需要知道它们的长度,您必须要跟踪它,或者您可以编写一个简单的函数模板来获取它:
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>
要容易得多。这有尺寸方法。