[VS2015] вопрос про шаблонные методы класса
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 26.09.16 16:32
Оценка: 46 (3)
Привет всем.

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++ или бага компилятора?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.