Aracılığıyla paylaş


Derleyici Hatası C3227

'parameter' : Genel bir tür ayırmak için 'anahtar sözcük' kullanılamaz

Açıklamalar

Bir türün örneğini oluşturmak için uygun bir oluşturucu gerekir. Ancak, derleyici uygun bir oluşturucunun kullanılabilir olduğundan emin olamamaktadır.

Bu hatayı çözmek için genel şablonlar yerine şablonlar kullanabilir veya türün bir örneğini oluşturmak için çeşitli yöntemlerden birini kullanabilirsiniz.

Örnek

Aşağıdaki örnek C3227 oluşturur.

// 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) );
   }
};