问题描述: 最近在项目开发中遇到了编译器报redeclaration of C++ built-in type ‘char16_t’的编译错误,最后觉得解决方法比较有意思,所以分享和记录一下。 原因分析: 一般来说出现这个错误的原因在于使用typedef定义了标准库中已经存在的变量类型当作别名: 例如: typedef int INT; //这是正常的用法,定义了int的一个别名INT int i = 0; INT j = 0; //以上两种效果是一致的,都定义了一个int类型的变量 typedef