2016-11-02 2 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

The &= является оператором присваивания побитовое согласно 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 *, а оператор побитового & не определен для указателей ,