컴파일러 오류 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) );
}
};