ошибка компиляции специализации шаблона функции

##A.hh

template<class T> void func(T t) {}
template<> void func<int>(int t) {}

void func2();

##A.cpp

void func2() {}

##main.cpp

func("hello");
func(int());

Я получаю следующую ошибку: error LNK2005: "void __cdecl func (int)" ( ?? $ func @ H @@ YAXH @ Z ) уже определено в A.obj, обнаружен один или несколько многократно определенных символов

Специализация шаблона функции не рассматривается как обычный шаблон функции? Похоже, он будет в объективном файле для A.

19
задан templatetypedef 24 March 2011 в 09:45
поделиться