Compilerfehler C3272

Aktualisiert: November 2007

Fehlermeldung

'Symbol': Symbol erfordert FieldOffset, da es ein Member von Typ Typname ist, das mit StructLayout(LayoutKind::Explicit) definiert wurde
'symbol' : symbol requires FieldOffset, as it is a member of typeátypename defined with StructLayout(LayoutKind::Explicit)

Wenn StructLayout Explicit aktiviert ist, müssen Felder mit FieldOffset gekennzeichnet sein.

Im folgenden Beispiel wird C3272 generiert:

// C3272_2.cpp
// compile with: /clr /c
using namespace System;
using namespace System::Runtime::InteropServices;

[StructLayout(LayoutKind::Explicit)]
ref struct X
{
   int data_;   // C3272
   // try the following line instead
   // [FieldOffset(0)] int data_;
};

Im folgenden Beispiel wird C3272 generiert:

// C3272.cpp
// compile with: /clr:oldSyntax /LD
#using <mscorlib.dll>
using namespace System;
using namespace System::Runtime::InteropServices;

[StructLayout(LayoutKind::Explicit)]
__gc struct X
{
   int data_;   // C3272
   // try the following line instead
   // [FieldOffset(0)] int data_;
};