请教VC++6.0问题
#include<iostream>
using namespace std;
class test
{
int X;
public:
test(int a){X=a;}
int getX(){return X;}
};
void main()
{
int i=1;
test *p, a[2][3]={{1,2,3},{4,5,6}};
for(p=a[0],i<=6;i++,p++;)
{
if((p-a[0])%3==0)cout<<endl;
cout<<p->getX()<<' ';
}
}
一运行程序
0x004016f0指令引用的内存0x00133000。该内存不能为read
[解决办法]
i<6
[解决办法]
for(p=a[0],i<=6;i++,p++;)
这句for循环写错了
[解决办法]
LZ的意思应该是打印出数组中的6个元素,循环那里就出错了。
以0开始数,到5就够了。 就是i<6就行。
前面说的都是对的
[解决办法]
我把我改过的代码发出来
#include<iostream>
using namespace std;
class test
{
int X;
public:
test(int a){X=a;}
int getX(){return X;}
};
void main()
{
int i=1,j=0;
test *p, a[2][3]={{1,2,3},{4,5,6}};
for(p=a[j];i<=6;i++,p++)
{
if((p-a[j])%3==0){
cout<<endl;
p=a[j++];
}
cout<<p->getX()<<' ';
}
}
因为你在p循环到第一行末尾的时候没有进行跳转下一行的操作
[解决办法]
不客气