Re: Explicit instantiation of template template method
От: rg45 СССР  
Дата: 02.03.18 18:17
Оценка:
Здравствуйте, ezdoctor, Вы писали:

E>Или даже лучше так (инстанциируем не метод, а весь класс):

E>
E>//class_implementation.cpp
E>template class C<int>;
E>

E>Но вот для шаблонного метода templateMemberFunction сделать по аналогии у меня не выходит. Следующий код компилируется, но линкер все равно не находит нужного определения метода:
E>
E>//class_implementation.cpp
E>template void C<int>::templateMemberFunction<double>();
E>


Ну такая задача обычно через явное инстанцирование и решается. По идее, все, что нужно тебе сделать — это инстанцировать весь класс, а потом еще отдельно шаблонную функцию:

template class C<int>;
template void C<int>::templateMemberFunction<double>();


Ты делаешь и то, и другое и все равно не находится?
--
Не можешь достичь желаемого — пожелай достигнутого.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.