1

以下をコンパイルしようとすると、「エラー 1 エラー C2143: 構文エラー: ';' がありません」というエラーが表示されます。前 '*'"。なぜ私がこのエラーを受け取っているのか誰にも分かりますか? ここで何が間違っていますか?

struct HE_edge {
HE_vert* vert; // vertex at the end of the half-edge<br>
HE_edge* pair; // oppositely oriented half-edge<br>
HE_face* face; // the incident face<br>
HE_edge* prev; // previous half-edge around the face<br>
HE_edge* next; // next half-edge around the face<br>
};

struct HE_vert {
float x, y, z; // the vertex coordinates<br>
HE_edge* edge; // one of the half-edges emanating from the vertex<br>
};

struct HE_face {
HE_edge* edge; // one of the half-edges bordering the face<br>
};
4

5 に答える 5

4

正しい順序で構造体を宣言するようにしてください: HE_edge は HE_vert と HE_face に依存するため、前に宣言してください。

struct HE_vert;
struct HE_face;

struct HE_edge {
HE_vert* vert; // vertex at the end of the half-edge<br>
HE_edge* pair; // oppositely oriented half-edge<br>
HE_face* face; // the incident face<br>
HE_edge* prev; // previous half-edge around the face<br>
HE_edge* next; // next half-edge around the face<br>
};

struct HE_vert {
float x, y, z; // the vertex coordinates<br>
HE_edge* edge; // one of the half-edges emanating from the vertex<br>
};

struct HE_face {
HE_edge* edge; // one of the half-edges bordering the face<br>
};
于 2013-10-09T08:33:30.053 に答える
1

識別子は、使用する前に宣言する必要があります。構造の場合、これは次のように単純に行われます。

struct HE_vert;

の定義の前に置きHE_edgeます。

于 2013-10-09T08:30:34.353 に答える