我需要一點幫助。當我編譯我的代碼它給我這個錯誤:#[錯誤]從'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