Quantcast
Channel: Active questions tagged gcc - Stack Overflow
Viewing all articles
Browse latest Browse all 22002

C++ syntax for explicit specialization of a template function in a template class?

$
0
0

I have code which works in VC9 (Microsoft Visual C++ 2008 SP1) but not in GCC 4.2 (on Mac):

struct tag {};template< typename T >struct C{       template< typename Tag >    void f( T );                 // declaration only    template<>    inline void f< tag >( T ) {} // ERROR: explicit specialization in};                               // non-namespace scope 'structC<T>'

I understand that GCC would like me to move my explicit specialization outside the class but I can't figure out the syntax. Any ideas?

// the following is not correct syntax, what is?template< typename T >template<>inline void C< T >::f< tag >( T ) {}

Viewing all articles
Browse latest Browse all 22002

Trending Articles