Share via


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()
{
}