編譯器錯誤 C3227
'parameter' : 無法使用 'keyword' 來配置泛型類型
若要具現化類型,需要適當的建構函式。 不過,編譯程式無法確保有適當的建構函式可供使用。
您可以使用範本而不是泛型來解決此錯誤,也可以使用數種方法之一來建立類型的實例。
範例
下列範例會產生 C3227。
// 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) );
}
};