Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"parametr": nie można użyć słowa kluczowego do przydzielenia typu ogólnego
Uwagi
Aby utworzyć wystąpienie typu, wymagany jest odpowiedni konstruktor. Jednak kompilator nie może zagwarantować dostępności odpowiedniego konstruktora.
Możesz użyć szablonów zamiast typów ogólnych, aby rozwiązać ten błąd, lub użyć jednej z kilku metod do utworzenia wystąpienia typu.
Przykład
Poniższy przykład generuje kod 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) );
}
};