On Mar 26, 2:48 pm, santosh <santosh....@gmail.comwrote:
Quote:
broli wrote:
Quote:
Specifically, this is my problem -
>
Quote:
typedef struct VertexData VertexData;
typedef struct EdgeData EdgeData;
typedef struct TriangleData TriangleData;
>
Quote:
typedef struct HalfData{
HalfData *next;
HalfData *previous;
HalfData *next;
>
This is a duplicate member.
>
Quote:
VertexData *origin;
TriangleData *left;
EdgeData *edge;
}HalfData;
>
I would define the above as a plain struct declaration and later typedef
it.
>
struct HalfData {
/* ... */
};
>
typedef struct HalfData HalfData;
>
Also I don't like the practise of giving same names for both the struct
tags and the corresponding typedef, but that is a style issue.
>
Quote:
struct VertexData{
HalfData* half;
};
>
Quote:
struct EdgeData{
HalfData* half;
};
>
Quote:
struct PolygonData{
HalfData* half;
};
>
Quote:
Have I used a wrong notation over here ?
>
Yes, for HalfData declaration.
Ok so I take your suggestions -
typedef struct VertexDataStruct VertexData;
typedef struct EdgeDataStruct EdgeData;
typedef struct TriangleDataStruct TriangleData;
struct HalfDataStruct{
struct HalfDataStruct *next;
struct HalfDataStruct *previous;
struct HalfDataStruct *next;
};
typedef struct HalfDataStruct HalfData;
( I still don't see how this is different from what i did previously
ie typedef struct HalfData{
......}Halfdata;)
struct VertexDataStruct{
....
};
struct EdgeDataStruct{
....
};
struct TriangleDataStruct{
....
};