編譯器警告 (層級 4) C4714
標記為 __forceinline 的函式 'function' 無法被內置
已選取指定的函式進行內嵌擴充,但編譯程式未執行內嵌。
雖然 __forceinline
對編譯程式具有比 __inline
更強的指示,但內嵌仍會以編譯程式的任意方式執行,但不會使用啟發學習法來判斷內嵌此函式的優點。
在某些情況下,編譯程式不會因為機械原因而內嵌特定函式。 例如,編譯程式不會內嵌:
如果函式會導致混合 SEH 和 C++ EH,則為 函式。
當 -GX/EHs/EHa 開啟時,某些函式具有以傳值方式傳遞的複製建構物件。
當 -GX/EHs/EHa 開啟時,傳回可回溯物件的函式。
在沒有 -Og/Ox/O1/O2 編譯時,具有內嵌元件的函式。
具有變數自變數清單的函式。
具有
try
(C++例外狀況處理) 語句的函式。
下列範例會產生 C4714:
// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
try
{
}
catch (...)
{
}
}
void func2()
{
func1(); // C4714
}
int main()
{
}