Compartilhar via


Aviso do compilador (nível 1) C4788

'identifier': identificador truncado para caracteres 'number'

O compilador limita o comprimento máximo permitido para um nome de função. Quando o compilador gera funclets para código EH/SEH, ele forma o nome do funclet, acrescentando algum texto ao nome da função, por exemplo, "__catch", "__unwind" ou outra cadeia de caracteres.

O nome do funclet resultante pode ser muito longo, e o compilador vai truncá-lo e gerar C4788.

Para resolver esse aviso, encurte o nome da função original. Se a função for um modelo ou método de função C++, use um typedef para parte do nome. Por exemplo:

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

pode ser substituído por:

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

Esse aviso ocorre apenas no compilador x64.