Специализация шаблона функции C ++

Учитывая этот код:

class X
{
public:
    template< typename T >
    void func( const T & v );
};

template<>
void X::func< int >( const int & v )
{
}

template<>
void X::func< char * >( const char * & v )       // 16
{
}

Когда я его компилирую, я получаю следующую ошибку.

test.cpp:16: error: template-id 'func<char*>' for 'void X::func(const char*&)' does not match any template declaration

Может ли кто-нибудь пролить свет на это?

9
задан flight 12 October 2011 в 10:46
поделиться