Gibt es eine Problemumgehung für den Fehler CS1663 ("Puffertyp fester Größe muss einer der folgenden sein: Bool, Byte, Kurz, Int, Lang, Char, Sbyte, Ushort, Uint, Ulong, Float oder Double.")?Problemumgehung beim Deklarieren eines unsicheren festen benutzerdefinierten Struct-Arrays?
Ich muss ein unsicheres festes Array von einem anderen blittable benutzerdefinierten Typ-Struktur deklarieren, aber ich bin in diesem Compiler-Fehler stecken.
Zeigt einen Code, um das Problem zu klären.
struct s1
{
byte _b1;
byte _b2;
}
unsafe struct s2
{
fixed s1 _s1[5]; // CS1663 here...
}
Beachten Sie, dass die beiden Strukturen blitable sind, so dass der Fehler keinen Sinn für mich macht.
Jeder hat eine Idee, was ich tun könnte?
Danke.
Haben Sie unsicher 'struct s2 { feste s1 s1 [5] bedeuten; } '? –
Ja !!! Ich werde diesen kleinen Fehler im Code-Snippet beheben, danke. Irgendwelche Gedanken zu diesem @ VadimMartynov? – ptr0x
Nun, Sie haben nur einen Syntaxfehler. Sie sollten Feldmodifikatoren (wie private, fixed, readonly, static und andere), Feldtyp (wie Byte, int, s1, string) und Feldname deklarieren (jeder Name, der verwendet wird, um Ihre Variablen zu referenzieren. Ihr Feld fehlt Geben Sie (s1) ein Lesen Sie mehr über das Deklarieren fester Puffer: https://msdn.microsoft.com/en-us/library/zycewsya(v=vs.80).aspx –