Udostępnij za pośrednictwem


C4714 (poziom 4) ostrzeżenia kompilatora

Funkcja 'Funkcja' jest oznaczony jako __forceinline nie inlined

Dana funkcja został wybrany do rozbudowy wbudowany, ale kompilator nie wykonał inline.

Chociaż __forceinline jest silniejsza wskazanie na kompilator niż __inline, inline nadal jest wykonywane według uznania przez kompilator, ale heurystyki nie są używane do określenia korzyści z inline tej funkcji.

W niektórych przypadkach kompilator będzie nie wbudowane określonej funkcji ze względów mechaniczne.Na przykład kompilator będzie nie wbudowane:

  • Funkcja jeżeli mogłoby to spowodować mieszanie zarówno SEH i C++ EH.

  • Niektóre funkcje z kopią zbudowane obiektów przekazywane przez wartość, gdy - GX/EHs/EHa jest włączony.

  • Funkcje przekazujących dane obiektu unwindable przez wartość, gdy - GX/EHs/EHa jest włączony.

  • Funkcje za pomocą wbudowanej zestawu podczas kompilacji bez - Og/Ox/O1/O2.

  • Funkcje z listy zmiennych argumentów.

  • Funkcja z Spróbuj instrukcji (obsługa wyjątków C++).

Poniższy przykład generuje C4714:

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


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

int main()
{
}