自己define size_t编译出错

今天写程序,突然发现之前的一个程序编译会出错,奇怪之,之前都好好的呀。

后来定位问题,发现该程序引用了本工程common下的typedefine.h,而其中有这样的代码在此期间被添加:


#ifdef __x86_64__
#define     size_t  unsigned long
#else
#define     size_t  unsigned int
#endif

而这个程序还自己引用了 #include <string>

string里本身就include了系统的 size_t ,这样就冲突了。

解决办法:

不要自己写size_t,而是#include <include/linux/types.h>

原文地址:https://www.cnblogs.com/lihaozy/p/2771056.html