다음을 통해 공유


컴파일러 경고(수준 1) C4788

'identifier': 식별자가 'number' 문자로 잘렸습니다.

컴파일러는 함수 이름에 허용되는 최대 길이를 제한합니다. 컴파일러가 EH/SEH 코드에 대한 funclets를 생성할 때 함수 이름 앞에 "__catch", "__unwind" 또는 다른 문자열과 같은 텍스트가 추가되어 funclet 이름을 형성합니다.

결과 funclet 이름은 너무 길 수 있으며 컴파일러는 이름을 잘라내고 C4788을 생성합니다.

이 경고를 해결하려면 원래 함수 이름을 줄입니다. 함수가 C++ 함수 템플릿 또는 메서드인 경우 이름의 일부에 typedef를 사용합니다. 예시:

C1<x, y, z<T>>::C2<a,b,c>::f

은 다음으로 바꿀 수 있습니다.

typedef C1<x, y, z<T>>::C2<a,b,c> new_class ;
new_class::f

이 경고는 x64 컴파일러에서만 발생합니다.