2016-04-27 20 views
0
class boundaryPt{ 
public: 
friend class KCurvature; 
int x; 
int y; 

boundaryPt(int x, int y){ 
    this->x = x; 
    this->y = y; 
} 
boundaryPt(){} 

}; 



class KCurvature{ 
public: 
    boundaryPt* boundaryPtAry; 
    int numPts; 
    ifstream input; 

KCurvature(char* inFile){ 
    input.open(inFile); 
    input >> numPts; 
    boundaryPtAry = new boundaryPt[numPts]; 
} 

void loadData(char* inFile){ 
    input.open(inFile); 
    int x; 
    int y; 

    while(!input.eof()){ 
     input >> x; 
     input >> y; 
     boundaryPtAry[index++] = new boundaryPt(x,y); 
    } 
}; 

タイプこのmyobjとこのmyobj *は互換性がありません私の問題はである

boundaryPtAry[index++] = new boundaryPt(x,y); 

私はタイプboundaryPtの私の配列で私boundaryPtオブジェクトを格納しようとしているが、私はboundaryPtとしてその配列を宣言したので、 *それは私に店舗boundaryPtをさせません。

これはポインタを参照する簡単な問題ですか?私はC++で錆びている。

+1

「boundaryPtAry [index] .x = x; boundaryPtAry [index] .y = y;インデックス++; '? – songyuanyao

+0

それはうまくいった。私は、オブジェクトの配列を作成すると実際に実際のオブジェクトが作成されることを認識しています。したがって、新しいboundaryPtオブジェクトを作成する必要はありません。ありがとう! – user5904091

+1

@ user5904091質問自体を更新するのではなく、回答として回答を投稿してください。 –

答えて

0

SOLVED!私は今、オブジェクトの配列を作成するときには、配列を作成するだけでなく、オブジェクト自体も作成することを認識しています。したがって、新しいオブジェクトを作成して配列に入れる必要はありませんでした(あるいは、私の場合は配列のインデックスポイントがあります)。

while(!input.eof()){ 
    input >> boundaryPtAry[index].x; 
    input >> boundaryPtAry[index].y; 
    index++; 
} 
+0

あなたはJavaの背景から来ていますか? –

+0

短い答え:はい。長い答え:私は学生で、私のコースのほぼすべてが今期までJavaでプロジェクトを割り当てられているので、JavaよりもC++の経験が少ないです。しかし、私は今日オブジェクトの配列について新しいことを学んだことをうれしく思っています。 – user5904091

関連する問題