我需要一点帮助。当我编译我的代码它给我这个错误:#[错误]从'int *'无效转换为'int'
[Error] invalid conversion from 'int*' to 'int' [-fpermissive]
我的代码如下,请大家指出的错误:
#include <iostream>
using namespace std;
class ptrArry{
private:
int *ptr;
int MaxSize;
public:
ptrArry(){
ptr=NULL;
MaxSize=2;
for(int i=0; i<MaxSize; i++){
*(ptr+i) = new int[MaxSize];
}
}
void setArry(int val){
for(int i=0; i<MaxSize; i++){
for(int j=0; j<MaxSize; j++){
cout<<"i="<<i<<endl;
cout<<"j="<<j<<endl;
ptr=val;
}
}
}
void getArry(){
for(int i=0; i<MaxSize; i++){
for(int j=0; j<MaxSize; j++){
cout<<"i="<<i;
cout<<"j="<<j;
cout<<ptr[i][j];
cout<<endl;
}
}
}
};
int main() {
ptrArry obj1;
obj1.setArry(50);
obj1.getArry();
return 0;
}
Java标记是故意的吗? –
这里和java有什么关系? – SomeJavaGuy
好吧,错误消息通常带有行号......可能对仔细观察该特定行很有帮助。而且你应该**阅读关于内存管理和指针的正确教程。即使编译了代码,它也会像筛网一样泄漏内存,并立即收到SIGSEGV。 – Paul