Явная специализация в области без пространства имен [дубликат]

На этот вопрос уже есть ответ здесь:

Синтаксис C ++ для явной специализации шаблонной функции в шаблонном классе? 4 ответа
template<typename T>
class CConstraint
{
public:
    CConstraint()
    {
    }

    virtual ~CConstraint()
    {
    }

    template <typename TL>
    void Verify(int position, int constraints[])
    {       
    }

    template <>
    void Verify<int>(int, int[])
    {   
    }
};

Компиляция этого в g ++ дает следующую ошибку:

Явная специализация в не-пространстве имен области 'CConstraint'

В VC он компилируется нормально. Может кто-нибудь, пожалуйста, дайте мне знать обходной путь?

Ответы на вопрос(5)

Ваш ответ на вопрос