Re: Проблема с полной специализацией глобальной функции
От: sch  
Дата: 06.10.05 13:06
Оценка: 2 (1)
Дело в том, что тело функции оказывается в двух модулях одновременно.

Можно сделать так:
> t.h
>
> #pragma  once
> 
> template<class T>
> void fn(T v) 
> {
>    std::cout << "common\n";
> }
template<> void fn<double>(double v);
> 
// [b]t.c
> template<>
> void fn<double>(double v)
> {
>    std::cout << "spec\n";
> }
>


Либо определить функцию в заголовочном файле как inline или static.
template<> inline void fn<double>(double v) {}
template<> static void fn<double>(double v) {}
Posted via RSDN NNTP Server 1.9
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.