specialize a template function out of its namespace

Yunior Peralta González yperaltag@gmail.com
Tue Jun 3 05:27:00 GMT 2008


Hi all.

I have the following problem:

namespace test
{
    class A
    {
        template <typename T>
        void foo(T &);
    };
}

//specialize the function out of namespace test
template <> test::A::foo<int>(int & a)
{
    //do something with a
}

if on the contrary I put it this way:

namespace test
{
    class A
    {
        template <typename T>
        void foo(T &);
    };

    //specialize the function inside namespace test
    template <> A::foo<int> (int & a)
    {
        //do something with a
    }
}

it works ok.

How can I use the first form without errors?

Thanks in advance.



More information about the Gcc-help mailing list