共用方式為


編譯器警告 (層級 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 編譯器中。