2011-08-16 6 views
5

चेतावनी विजुअल स्टूडियो 2005 में एक अजीब चेतावनी हो रही है: '=':दृश्य स्टूडियो C4133

चेतावनी C4133 असंगत प्रकार - '* PointNode' 'PointNode *'

struct परिभाषा करने के लिए से:

struct PointNode { 
    int x; 
    int y; 
    struct PointNode *next; 
}; 

घोषणा और उपयोग:

struct PointNode* pPointHead; 
... 

pPointHead = pPointHead->next; 

चेतावनी ही कहते हैं वे कर रहे हैं वही प्रकार, यह शिकायत क्यों करेगा?

(दुर्भाग्य से मैं C4133 टैग नहीं कर सकते)

+0

वीसी ++ 2005 इसकी जुर्माना संकलित करता है, कोई चेतावनी उत्सर्जित नहीं होती है। क्या आप सी ++ या सी का उपयोग कर रहे हैं? – Ajay

+0

इसका उपयोग एक .c फ़ाइल – user320781

उत्तर

5

आपका struct इस तरह दिखना चाहिए:

struct PointNode { 
    int x; 
    int y; 
    PointNode *next; // remove struct keyword 
}; 

घोषित करने और इस तरह का उपयोग करें:

PointNode *pPointHead; // remove struct keyword 
pPointHead->next; 

आप struct कीवर्ड जोड़ते हैं , संकलक सोचता है कि आप एक ही नाम के साथ एक नई अलग संरचना घोषित कर रहे हैं।

+0

कूल में करते हुए, यह काम करता है, धन्यवाद! – user320781

संबंधित मुद्दे