Error del compilador C2252
no se puede crear una instancia de la plantilla explícita en el ámbito actual
El compilador ha detectado un problema con la creación explícita de una instancia de una plantilla. Por ejemplo, no se puede crear una instancia de una plantilla de manera explícita en una función.
El ejemplo siguiente genera el error C2252:
// C2252.cpp
class A {
public:
template <class T>
int getit(int i , T * it ) {
return i;
}
template int A::getit<double>(int i, double * it); // C2252
// try the following line instead
// template <> int A::getit<double>(int i, double * it);
};
int main() {
// cannot explicitly instantiate in function
template int A::getit<long>(int i, long * it); // C2252
}