少し助けが必要です。私は私のコードをコンパイルすると、それは私に、このエラーを与える:私のコードは以下のとおりである#[エラー] '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