有人可以帮我弄清楚为什么这不起作用。
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]'
C 风格的数组没有length
属性之类的东西。考虑使用std::array
and 它的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>
. 这有一个 size 方法。