다음을 통해 공유


컴파일러 경고(수준 4) C4714

인라인되지 않은 __forceinline 표시된 함수 'function'

인라인 확장을 위해 지정된 함수가 선택되었지만 컴파일러가 인라인을 수행하지 않았습니다.

__forceinline 컴파일러보다 __inline더 강력한 표시이지만 인라인 처리는 컴파일러의 재량에 따라 수행되지만 이 함수를 인라인 처리할 때의 이점을 결정하는 데는 추론이 사용되지 않습니다.

경우에 따라 컴파일러는 기계적 이유로 특정 함수를 인라인하지 않습니다. 예를 들어 컴파일러는 인라인되지 않습니다.

  • SEH와 C++ EH를 모두 혼합하는 경우 함수입니다.

  • -GX/EHs/EHa가 켜지면 값으로 전달되는 복사 생성 개체가 있는 일부 함수입니다.

  • -GX/EHs/EHa가 켜진 경우 값으로 해제할 수 없는 개체를 반환하는 함수입니다.

  • -Og/Ox/O1/O2 없이 컴파일할 때 인라인 어셈블리가 있는 함수입니다.

  • 변수 인수 목록이 있는 함수입니다.

  • (C++ 예외 처리) 문이 있는 try 함수입니다.

다음 샘플에서는 C4714를 생성합니다.

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

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

int main()
{
}