次の方法で共有


コンパイラ エラー 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
}