Bagikan melalui


Peringatan Kompilator (Tingkat 1) C4788

'pengidentifikasi' : pengidentifikasi dipotong menjadi karakter 'angka'

Pengkompilasi membatasi panjang maksimum yang diizinkan untuk nama fungsi. Ketika kompilator menghasilkan funclets untuk kode EH/SEH, itu membentuk nama funclet dengan menambahkan nama fungsi dengan beberapa teks, misalnya "__catch", "__unwind", atau string lain.

Nama funclet yang dihasilkan bisa terlalu panjang, dan pengkompilasi akan memotongnya dan menghasilkan C4788.

Untuk mengatasi peringatan ini, persingkat nama fungsi asli. Jika fungsinya adalah templat atau metode fungsi C++, gunakan typedef untuk bagian dari nama. Contohnya:

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

dapat diganti dengan:

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

Peringatan ini hanya terjadi di pengkompilasi x64.