Dela via


Kompilatorvarning (nivå 4) C4714

funktionen "funktion" markerad som __forceinline inte inlindad

Anmärkningar

Den angivna funktionen valdes för infogad expansion, men kompilatorn utförde inte inlinningen.

Även om __forceinline är en starkare indikation på kompilatorn än __inline, utförs inlinning fortfarande efter kompilatorns gottfinnande, men inga heuristik används för att fastställa fördelarna med att ange den här funktionen.

I vissa fall kommer kompilatorn inte att infoga en viss funktion av mekaniska skäl. Kompilatorn infogas till exempel inte:

  • En funktion om det skulle resultera i blandning av både SEH och C++ EH.

  • Vissa funktioner med kopieringskonstruerade objekt som skickas av värde när -GX/EH/EHa är aktiverat.

  • Funktioner som returnerar ett avaktiverbart objekt efter värde när -GX/EH/EHa är aktiverat.

  • Funktioner med infogad sammansättning vid kompilering utan -Og/Ox/O1/O2.

  • Funktioner med en variabelargumentlista.

  • En funktion med en try (C++ undantagshantering) -instruktion.

Example

I följande exempel genereras C4714:

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

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

int main()
{
}