Я не понимаю эту ошибку C ++ - ошибка C2101: '&' на константе - PullRequest
5 голосов
/ 18 сентября 2011

Этот код предположительно работает с GCC - я пытаюсь заставить его работать с Visual Studio. Я не могу понять, действительно ли код неисправен или я что-то не так делаю с портом.

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_;

1 Ответ

8 голосов
/ 18 сентября 2011

Построение T(), где T - ссылочный тип, недопустимо и не имеет смысла.Некоторые версии gcc неверно принимают его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...