Ostrzeżenie kompilatora (poziom 4) C4714
funkcja "function" oznaczona jako __forceinline nie jest podkreślona
Dana funkcja została wybrana do rozszerzania wbudowanego, ale kompilator nie wykonał tworzenia inliningu.
Mimo że __forceinline
jest silniejszym wskazaniem dla kompilatora niż __inline
, podkreślenie jest nadal wykonywane według uznania kompilatora, ale nie są używane heurystyka w celu określenia korzyści wynikających z tworzenia tej funkcji.
W niektórych przypadkach kompilator nie będzie w tekście określonej funkcji ze względów mechanicznych. Na przykład kompilator nie będzie wbudowany:
Funkcja, jeśli spowoduje to mieszanie zarówno SEH, jak i C++ EH.
Niektóre funkcje z skopiowanymi obiektami skonstruowanymi przekazywanymi przez wartość, gdy parametr -GX/EHs/EHa jest włączony.
Funkcje zwracające niewiążące obiekt według wartości, gdy parametr -GX/EHs/EHa jest włączony.
Funkcje z wbudowanym zestawem podczas kompilowania bez -Og/Ox/O1/O2.
Funkcje z listą argumentów zmiennej.
Funkcja z instrukcją obsługi wyjątków
try
(C++).
Poniższy przykład generuje C4714:
// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
try
{
}
catch (...)
{
}
}
void func2()
{
func1(); // C4714
}
int main()
{
}