2016-11-02 9 views
-1

私はポインタの配列で問題があります。私は&演算子は使用しないでなければならない理由ポインタ配列をC++で

struct sFace { 
sPoint* points[2];   
sCell* neighCells[2]; 
sFace* neighFaces[4]; 

double* neighPe[4]; 
double* neighF[4];} 

struct sCell { 
    sFace* faces[4]; 
    sPoint* points[4]; 
    sCell* neighCells[4]; 
} 

and 
curFace = &data->faces[faceId]; 
curCell = &data->cells[cellId]; 

curFace->neighFaces[1]&= curFace->neighCells[1]->faces[1]; 

答えて

1

&=thisに従ってビット単位代入演算子あります。

C++ Fundamentalsを読むのは、C++でプログラミングするのが初めての方です。

+0

ああ、ありがとう。 \t 'curFace-> neighPe [XP] =&curFace-> neighFaces [XP] - > Pe [0]; ' – Danlos

+0

ここで&演算子は参照演算子として使用されます。 –

1

ビット単位&演算子は、ポインタのために定義されていないので:

curFace->neighFaces[1] 

neighFacesは次のとおりです。

sCell* neighCells[4]; 

ので、curFace->neighFaces[1]sCell *で、ビット単位&オペレータは、ポインタのために定義されていません。