Привет всем.
VS2015 Upd3
Удалил из определения класса объявление шаблонного метода. Сама реализация этого метода осталась (за пределами class{}). То есть, код выглядит как-то так:
class TT
{
};
//компилируется без проблем
template<typename Q>
void TT::MM(Q x)
{
}
//Error C2039 'MM1': is not a member of 'TT'
//void TT::MM1()
//{
//}
int main()
{
TT x;
//Error C2039 'MM': is not a member of 'TT'
//x.MM(1);
return 0;
}
А оно взяло и скомпилировалось без ошибок. Хотя, по идее, должно выругаться на реализацию TT::MM так же, как и на TT::MM1.
Вопрос — это какие-то новые/старые фичи C++ или бага компилятора?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --