Share via


Derleyici Uyarısı (Düzey 1) C4788

'identifier' : tanımlayıcı 'sayı' karakterlerine kesildi

Derleyici, bir işlev adı için izin verilen uzunluk üst sınırını sınırlar. Derleyici, EH/SEH kodu için funclets oluşturduğunda işlev adını bir metinle (örneğin, "__catch", "__unwind" veya başka bir dize) önceden bağlayarak funclet adını oluşturur.

Sonuçta elde edilen funclet adı çok uzun olabilir ve derleyici onu kesecek ve C4788 oluşturacaktır.

Bu uyarıyı çözmek için özgün işlev adını kısaltın. İşlev bir C++ işlev şablonu veya yöntemiyse, adın bir bölümü için bir typedef kullanın. Örnek:

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

şununla değiştirilebilir:

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

Bu uyarı yalnızca x64 derleyicisinde oluşur.