Sdílet prostřednictvím


C4714 (úroveň 4) upozornění kompilátoru

funkce funkce označen jako __forceinline není inlined

Dané funkce byla vybrána pro rozšíření inline, ale kompilátor nebyla provedena inlining.

Přestože __forceinline silnější označení kompilátoru, než je __inline, inlining nadále provádí uvážení kompilátoru, ale žádné heuristiku se používají ke stanovení výhody z inlining tuto funkci.

V některých případech kompilátor bude nejsou určité funkce mechanických důvodů.Například kompilátor bude nejsou:

  • Funkce, pokud by výsledkem smíchání SEH a C++ EH.

  • Některé funkce, kopie vytvořena předány hodnotou při - GX/EHs nebo je EHa na objekty.

  • Funkce vrací objekt unwindable podle hodnoty při - GX/EHs nebo je EHa na.

  • Funkce s vloženou sestavení při kompilaci bez - Og/Ox/O1 nebo O2.

  • Proměnný seznam argumentů funkce.

  • Funkce s akci prohlášení (C++ zpracování výjimek).

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