C4714 de aviso (nível 4) do compilador
função 'função' marcada como __forceinline não seja embutida
A função determinada foi selecionada para expansão de linha, mas o compilador não executou o inlining.
Embora __forceinline é uma indicação mais forte para o compilador que __inline, inlining ainda é realizada a critério do compilador, mas nenhuma heurística é usadas para determinar os benefícios da inlining essa função.
Em alguns casos, o compilador irá in-line não uma função específica por motivos mecânicos.Por exemplo, o compilador irá não in-line:
Uma função se resultaria na mistura SEH e o C++ EH.
Algumas funções com cópia construído objetos passados por valor quando - GX/EHs//EHa está ativado.
Funções retornando um objeto unwindable pelo valor quando - GX/EHs//EHa está ativado.
Funções com assembly embutido durante a compilação sem - Og/Ox/O1/O2.
Funções com uma lista de argumentos variável.
Uma função com um tente instrução (manipulação de exceção de C++).
O exemplo a seguir gera C4714:
// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
try
{
}
catch (...)
{
}
}
void func2()
{
func1(); // C4714
}
int main()
{
}