共用方式為


編譯器錯誤 C2346

'function' 無法編譯為原生:原因

編譯程式無法將函式編譯成 MSIL。

如需詳細資訊,請參閱 Managed、Unmanaged/clr (Common Language Runtime Compilation)

更正這個錯誤

  1. 拿掉無法編譯至 MSIL 之函式中的程式代碼。

  2. 請勿使用 /clr 編譯模組,或使用 Unmanaged pragma 將函式標示為 Unmanaged。

範例

下列範例會產生 C2346。

// C2346.cpp
// processor: x86
// compile with: /clr
// C2346 expected
struct S
{
   S()
   {
      { __asm { nop } }
   }
   virtual __clrcall ~S() { }
};

int main()
{
   S s;
}