Delen via


Compilerfout C3227

'parameter': kan geen trefwoord gebruiken om een algemeen type toe te wijzen

Opmerkingen

Als u een type wilt instantiƫren, is een geschikte constructor vereist. De compiler kan er echter niet voor zorgen dat er een geschikte constructor beschikbaar is.

U kunt sjablonen gebruiken in plaats van generics om deze fout op te lossen, of u kunt een van de verschillende methoden gebruiken om een exemplaar van het type te maken.

Example

In het volgende voorbeeld wordt C3227 gegenereerd.

// C3227.cpp
// compile with: /clr /c
generic<class T> interface class ICreate {
   static T Create();
};

generic <class T>
where T : ICreate<T>
ref class C {
   void f() {
      T t = new T;   // C3227

      // OK
      T t2 = ICreate<T>::Create();
      T t3 = safe_cast<T>( System::Activator::CreateInstance(T::typeid) );
   }
};