Compartilhar via


Aviso do compilador (nível 4) C4714

a função “function” marcada como __forceinline será embutida

A função determinada foi selecionada para a expansão embutido, mas o compilador não executou inlining.

Embora __forceinline é uma indicação mais forte ao compilador do que __inline, inlining é executada na discreção do compilador, mas nenhuma heurística é usada para determinar os benefícios de inlining essa função.

Em alguns casos, o compilador não embutida uma função específica para razões mecânicas. Por exemplo, o compilador não embutida:

  • Uma função se você ficará com misturar ambos ELA e C++ EH.

  • Algumas funções com os objetos criados cópia passados pelo valor - GX/EHs/EHa quando está ativado.

  • Funções retornando um objeto unwindable pelo valor - GX/EHs/EHa quando está ativado.

  • Funções embutidas com assembly ao construir sem - Og/Ox/O1/O2.

  • Funções com uma lista de argumento de variável.

  • Uma função com uma instrução de try (manipulação de exceção C++).

O seguinte exemplo gera C4714:

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


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

int main()
{
}