Megosztás a következőn keresztül:


C3390 fordítási hiba

"type_arg" : az "generic_type" általános típus "param" paraméterének érvénytelen típusargumentuma, referenciatípusnak kell lennie"

Megjegyzések

A rendszer helytelenül példányosított egy általános típust. Ellenőrizze a típusdefiníciót.

További információ: Generics.

Example

Az első példa a C# használatával hoz létre egy általános típust tartalmazó összetevőt. Ez a típus bizonyos korlátozásokkal rendelkezik, amelyek nem támogatottak a C++/CLI általános típusainak létrehozásakor. További információ: Típusparaméterek korlátozásai.

// C3390.cs
// Compile by using: csc /target:library C3390.cs
// a C# program
public class GR<C, V, N>
where C : class
where V : struct
where N : new() {}

Ha az C3390.dll összetevő elérhető, az alábbi példa C3390-et hoz létre.

// C3390_b.cpp
// Compile by using: cl /clr C3390_b.cpp
#using <C3390.dll>
ref class R { R(int) {} };
value class V {};
ref struct N { N() {} };

int main () {
   GR<V, V, N^>^ gr2;   // C3390 first type must be a ref type
   GR<R^, V, N^>^ gr2b; // OK - do this instead
}