Megosztás a következőn keresztül:


Fordító figyelmeztetés (4. szint) C4714

__forceinline nem beágyazottként megjelölt függvény

Megjegyzések

Az adott függvény be lett jelölve a beágyazott bővítéshez, de a fordító nem hajtotta végre a fordítást.

Bár __forceinline a fordítónak erősebb jelzése, mint __inlinea fordított, a fordítást a fordító saját belátása szerint hajtja végre, de nem használ heurisztikusokat a függvény felvázolásának előnyeinek meghatározásához.

Bizonyos esetekben a fordító mechanikai okokból nem ágyaz be egy adott függvényt. A fordító például nem lesz beágyazott:

  • Egy függvény, ha az SEH és a C++ EH kombinációját eredményezné.

  • Egyes függvények másolással létrehozott objektumokat ad át érték szerint, amikor a -GX/EHs/EHa be van kapcsolva.

  • A -GX/EHs/EHa bekapcsolva lévő függvények érték szerint visszaadják a visszatekerhető objektumokat.

  • Beágyazott szerelvényekkel rendelkező függvények -Og/Ox/O1/O2 nélkül történő összeállításkor.

  • Változó argumentumlistával rendelkező függvények.

  • Függvény ( try C++ kivételkezelés) utasítással.

Example

Az alábbi példa c4714-et hoz létre:

// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
   try
   {
   }
   catch (...)
   {
   }
}

void func2()
{
   func1();   // C4714
}

int main()
{
}