|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Compiler Warning (Level 1) C4788
Error Message'identifier' : identifier was truncated to 'number' characters
The compiler limits the maximum length allowed for a function name. When the compiler generates funclets for EH/SEH code, it forms the funclet name by prepending the function name with some text, for example "__catch", "__unwind", or another string.
The resulting funclet name can be too long, and the compiler will truncate it and generate C4788.
To resolve this warning, shorten the original function name. If the function is a C++ template function or method, use a typedef for part of the name. For example:
C1<x, y, z<T>>::C2<a,b,c>::f
can be replaced by:
typedef C1<x, y, z<T>>::C2<a,b,c> new_class ; new_class::f
This warning only occurs in the Itanium Processor Family (IPF) and x64 compiler.