Compiler Error C3279
partial and explicit specializations as well as explicit instantiations of class templates declared in the cli namespace are disallowed
The cli
namespace is defined by Microsoft and contains pseudo-templates. The Microsoft C++ compiler does not allow user-defined, partial and explicit specializations, and explicit instantiations of class templates in this namespace.
The following sample generates C3279:
// C3279.cpp
// compile with: /clr
namespace cli {
template <> ref class array<int> {}; // C3279
template <typename T> ref class array<T, 2> {}; // C3279
}