/ / इस संरचना को क्या अधूरा बनाता है? - सी, जीसीसी, संरचना

इस संरचना को अधूरा क्या बनाता है? - सी, जीसीसी, संरचना

gcc प्यार से मुझे यह त्रुटि देता है:

bst.c:33: error: invalid application of ‘sizeof’ to incomplete type ‘struct BSTNode’

क्या BSTnode अधूरा बनाता है? नीचे BSTnode के लिए प्रासंगिक संरचना परिभाषाएं दी गई हैं।

struct BSTnode{

struct BSTnode * left;
struct BSTnode * right;

struct hash minhash;
struct hash maxhash;

struct DHTid owner;
int misses;
};

हमारे पास कहाँ है:

struct hash{
int hash;
};

struct DHTid
{
int islocal;

unsigned long addr;
unsigned short port;
struct DHTnode * node;
};

और कई बार:

struct DHTnode{
int something;
};

संपादित करें: मेरे वास्तविक कोड में निम्नलिखित संरचना है:

struct DHTnode{...};
struct hash{...};
struct DHTid{...}; /*changed . to ; in pseudocode*/
struct BSTnode{...};

EDIT: user318466 ने एक लापता अर्धविराम को इंगित किया, लेकिन इसके साथ अभी भी अधिक गलत था।

उत्तर:

जवाब के लिए 9 № 1

आपने प्रकार घोषित किया struct BSTnode। आप आवेदन कर रहे हैं sizeof टाइप करने के लिए struct BSTNode। पूंजीकरण में अंतर पर ध्यान दें: n तथा N. struct BSTNode बेशक, कंपाइलर अपूर्ण प्रकार के लिए पूरी तरह से अज्ञात है, जो कि यह आपको बता रहा है।


जवाब के लिए 2 № 2

एक लापता है ; के अंत में:

struct DHTid{...}.

यह होना चाहिए:

struct DHTid{...};

जवाब के लिए 0 № 3

आपकी हेडर फाइलें शायद #define में से किसी एक की पहचान करें जिससे आप चाहते हैं कि आप कुछ न करें