共用方式為


編譯器警告 (層級 4) C4714

標示為__forceinline未內嵌的函式 'function'

已選取指定的函式進行內嵌擴充,但編譯器未執行內嵌。

雖然 __forceinline 對編譯器具有比 __inline 更強的指示,但內嵌仍會以編譯器的任意方式執行,但不會使用啟發學習法來判斷內嵌此函式的優點。

在某些情況下,編譯器不會因為機械原因而內嵌特定函式。 例如,編譯器不會內嵌:

  • 如果函式會導致混合 SEH 和 C++ EH,則為 函式。

  • 當 -GX/EHs/EHa 開啟時,某些函式具有以傳值方式傳遞的複製建構物件。

  • 當 -GX/EHs/EHa 開啟時,傳回可回溯物件的函式。

  • 在沒有 -Og/Ox/O1/O2 編譯時,具有內嵌元件的函式。

  • 具有變數引數清單的函式。

  • 具有 (C++ 例外狀況處理) 語句的 try 函式。

下列範例會產生 C4714:

// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
   try
   {
   }
   catch (...)
   {
   }
}

void func2()
{
   func1();   // C4714
}

int main()
{
}