コンパイラ エラー C2252
現在のスコープでテンプレートを明示的にインスタンス化できません
コンパイラで、テンプレートの明示的なインスタンス化に関する問題が検出されました。 たとえば、関数でテンプレートを明示的にインスタンス化することはできません。
次の例では 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
}