解决方案
20
一般是先包含系统头文件再包含自定义头文件。
例如test.h:
例如test.h:
class Object { private: std::string _str; };
正确的做法是要包含string头文件,可是有些头文件就是遗漏了。
然后main.cpp这样写不会有问题
#include <string> #include "test.h"
换下顺序就会报错了。
以前本人也遇到过相似的问题,工程文件太多,有时候编译错误了换下头文件顺序就ok了。
要避免相似错误就要养成一个好习惯:系统头文件在前面,然后是第三方库头文件,最后是本人的头文件。