Upozornění kompilátoru (úroveň 4) C4714
funkce "function" označená jako __forceinline není vložena.
Daná funkce byla vybrána pro vložené rozšíření, ale kompilátor neprovádí vkládání.
Ačkoli __forceinline
je silnější indikací kompilátoru než __inline
, vkládání se stále provádí podle uvážení kompilátoru, ale k určení výhod vkládání této funkce se nepoužívají žádné heuristiky.
V některých případech kompilátor nebude z mechanických důvodů vkládat konkrétní funkci. Kompilátor například nebude vložený:
Funkce, pokud by to mělo za následek kombinování SEH i C++ EH.
Některé funkce s vytvořenými objekty kopírováním předané hodnotou, pokud je zapnutý parametr -GX/EHs/EHa.
Funkce vracející nenavinutelný objekt podle hodnoty, pokud je zapnutý parametr -GX/EHs/EHa
Funkce s vloženým sestavením při kompilaci bez -Og/Ox/O1/O2.
Funkce se seznamem argumentů proměnných
Funkce s příkazem (zpracování výjimek jazyka
try
C++).
Následující ukázka generuje C4714:
// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
try
{
}
catch (...)
{
}
}
void func2()
{
func1(); // C4714
}
int main()
{
}