निम्नलिखित स्रोत कोड विजुअल स्टूडियो 2010 के साथ सही ढंग से संकलित पर संकलन नहीं करना चाहिए:कोड विजुअल स्टूडियो 2010 में संकलित लेकिन सभी
namespace NS
{
class X
{
};
X Y(X str);
}
void myFun()
{
NS::X x;
Y(x);
}
(यह कम हो जाता है कोड जहां मेरे सारे ही वर्ग और समारोह के नाम बदल दिया गया है एक्स, वाई, ...)
मुझे उम्मीद है कि Y(x)
लाइन संकलित करने में विफल रहेगी, क्योंकि यह NS::Y(x)
होना चाहिए।
इस स्रोत कोड निम्न आदेश के साथ संकलित किया गया है
cl /c file.cpp
कोई अन्य फ़ाइलों यहाँ शामिल, कोई अन्य आदेश पंक्ति विकल्प हैं।
यह फ़ाइल संकलित क्यों करती है? वीएस -2010 में बग? या कुछ जो मैंने (और मेरे 3 अन्य सहयोगियों) को अनदेखा किया?
ने इसे g ++ के साथ करने की कोशिश की और एनएस :: वाई (एनएस :: एक्स) 'के लिए अनिर्धारित संदर्भ प्राप्त किया - शायद यह वीएस में एक बग हो सकता है .. – WeaselFox
http://ideone.com/WzC6V –
@WeaselFox : पूरी तरह से असंबंधित। आपकी त्रुटि एक * लिंकर त्रुटि * है क्योंकि 'NS :: Y' परिभाषित नहीं है। यह सामान्य है, और शायद एक पूर्ण फ़ाइल पर एक और फाइल में परिभाषित किया जाएगा। –