Aviso do compilador (nível 1) C4812
estilo de declaração obsoleto: use 'new_syntax' em vez disso
Na versão atual do Visual C++, ainda há suporte para a especialização explícita do construtor, mas poderá ser incompatível em uma versão futura.
O seguinte exemplo gera o erro C4812:
// C4812.cpp
// compile with: /W1 /c
template <class T>
class MyClass;
template<class T>
class MyClass<T*> {
MyClass();
};
template<class T>
MyClass<T*>::MyClass<T*>() {} // C4812
// try the following line instead
// MyClass<T*>::MyClass() {}