C++ 程序length方法错在哪里了 提示error C2228: left of '.length' must have class/struct/union type
#include<iostream>usingnamespacestd;voidmain(){inta[]={1,2,3};inti=0;for(i;i<a.length...
#include<iostream>
using namespace std;
void main (){
int a[]={1,2,3};
int i=0;
for(i;i<a.length;i++) {
}
}
在length改成length()也是不对 展开
using namespace std;
void main (){
int a[]={1,2,3};
int i=0;
for(i;i<a.length;i++) {
}
}
在length改成length()也是不对 展开
2013-10-10
展开全部
你是现要求数组a[]的长度(包含的元素个数)吧,C++里面没有直接记录数组长的length值,你这是java里可以用的.
在C++你只需这样既可!
代码如下
#include<iostream>
using namespace std;
void main (){
int a[]={1,2,3};
int i=0;
for(i;i<sizeof(a)/sizeof(int);i++)
{
cout<<"a["<<i<<"]="<<a[i]<<endl;
}
}
因为sizeof(a)求出的是数组a[]所占的字节数,而每个元素占4个字节(int型VC6.0中),所以元素个数为
sizeof(a)/sizeof(int)个.sizeof(int)求的是一个int类型所占的字节数.(因为不同的编译器有可能不一样VC6.0为4个字节,而TC为两个字节).
运行结果如下:
展开全部
楼主,你用的是C++不是Java,数组在C++里面不是对象,没有length参数,遍历数组你得知道数组的确切长度是多少,然后循环。
对于上面int a[]={1,2,3}
你可以是是用 sizeof(a) / 4 来作为a的长度。
但是通常我们都是知道a的长度然后才遍历a数组的。
对于上面int a[]={1,2,3}
你可以是是用 sizeof(a) / 4 来作为a的长度。
但是通常我们都是知道a的长度然后才遍历a数组的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写成
for(i;i<sizeof(a);i++) {
}
才对
a.length,要a中包含length成员才行。
for(i;i<sizeof(a);i++) {
}
才对
a.length,要a中包含length成员才行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
void main (){
int a[]={1,2,3};
int i=0;
for(i;i<sizeof(a)/sizeof(int);i++) {
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询