Поделиться через


Ошибка компилятора C3230

"функция": аргумент типа шаблона для "шаблон" не может содержать параметр универсального типа: "параметр"

Экземпляры шаблонов создаются во время компиляции, но экземпляры универсальных объектов создаются во время выполнения. Следовательно, невозможно создать универсальный код, который может вызывать шаблон, поскольку экземпляр шаблона не создается во время выполнения, когда универсальный тип становится известен.

В следующем примере возникает ошибка C3230:

// C3230.cpp
// compile with: /clr /LD
template <class S>
void f(S t);

generic <class U>
ref class C {
   void f1(U x) {
      f(x);   // C3230
   }
};