2011-09-17 5 views
5

यह कोड माना जाता है कि यह जीसीसी के साथ काम करता है - मैं इसे विजुअल स्टूडियो के साथ काम करने की कोशिश कर रहा हूं। मैं यह नहीं समझ सकता कि कोड वास्तव में दोषपूर्ण है या मैं बंदरगाह के साथ कुछ सही नहीं कर रहा हूं।मुझे यह सी ++ त्रुटि नहीं समझती है - त्रुटि C2101: '0' निरंतर

1>c:\somepath\aaa.h(52): error C2101: '&' on constant 
1>   c:\somepath\aaa.h(52): while compiling class template member function 'const blahblah::Message something::AClass<Type>::aMethod(void) const' 
1>   with 
1>   [ 
1>    Type=const lala::BClass& 
1>   ] 
1>   c:\somepath\bbb.h(79) : see reference to class template instantiation 'something:AClass<Type>' being compiled 
1>   with 
1>   [ 
1>    Type=const lala::BClass& 
1>   ] 
1> MyApplication.cpp 

फ़ाइलें

aaa.h:52   virtual const Type aMethod() const { return Type(); } 

bbb.h:79   AClass<const BClass&> blahblahblah_; 
+0

प्यारा सा बग यह। मुझें यह पसंद है। –

+0

क्या यह एक हालिया संस्करण है? ऐसा लगता है कि वीएस -2010 ने इस त्रुटि संदेश को फिर से बनाया है। – MSalters

+0

अच्छा; यह _is_ यहाँ एक बकवास निदान का थोड़ा सा है। –

उत्तर

8

T() जहां टी एक संदर्भ प्रकार है निर्माण मान्य नहीं है, और कोई मतलब नहीं है। जीसीसी के कुछ संस्करण गलत तरीके से इसे स्वीकार करते हैं।

+0

+1: आपने इसे खींचा। –

+0

जीसीसी 4.5.1 त्रुटि संदेश सहित सही है: http://ideone.com/DOHb3 "त्रुटि: संदर्भ प्रकारों का अमान्य मान-प्रारंभिकरण" – MSalters

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