मैं विजुअल स्टूडियो 2008 यह इस तरह के रूप में कई हेडर फाइल में परिभाषित संरचनाओं, का एक बहुत कुछ है में एक सी ++ आवेदन लिख रहा हूँ:परिभाषा पर जाएं विफल - विजुअल स्टूडियो 2008
#pragma pack(push , 1) // align on a 1-byte boundary
typedef struct myStruct_tag
{
/* ... */
} myStruct_t;
#pragma pack(pop) // end 1-byte boundary alignment
एक स्रोत फ़ाइल में, इन परिभाषित संरचनाओं जैसे उपयोग किया जाता है:
void MyFunc(void)
{
myStruct_t * myStruct = NULL;
myStruct = (myStruct_t *)malloc(sizeof(myStruct_t));
/* and so forth and so on... */
}
भले ही यह सफलतापूर्वक, 0 त्रुटियों और 0 चेतावनी के साथ संकलित कभी कभी जब मैं (जैसे MyFunc
के रूप में) एक कस्टम डेटा प्रकार राइट क्लिक करें यह मुझे एक त्रुटि देता है:
The symbol 'myStruct_t' is not defined.
तब मैं ठीक क्लिक करें संवाद बॉक्स बंद करने और समाधान के पुनर्निर्माण के लिए Ctrl +Alt + एफ 7 दबाएँ। यह किसी भी त्रुटि या चेतावनी के बिना बनाता है, इसलिए मुझे पता है कि यह myStruct_t
की परिभाषा हो रही है जब यह संकलित है, लेकिन यह यह नहीं मिल सकता है जब मैं परिभाषा सुविधा के लिए जाओ उपयोग करने के लिए प्रयास करें। केवल एक चीज है कि मेरे पास होता है कि इस आवेदन परिभाषित संरचनाओं, एकल-बाइट गठबंधन का एक बहुत है, लेकिन यह एक फर्क नहीं करना चाहिए। क्या कोई जनता है कि यह कैसे ठीक किया जाता है?
यह चाल किया! धन्यवाद! –
विजुअल स्टूडियो 2010 में कोई * .ncb फ़ाइलें नहीं हैं; अब यह * .sdf फ़ाइलों का उपयोग करता है – Loghorn
मेरी गलती। मैं वीएस 2008 का उपयोग कर रहा हूं। मैं तदनुसार ओपी अपडेट करूंगा। –