GCC error: declaration of … shadows a parameter
函数中定义和函数参数相同(名字和类型完全相同)的变量(这在VS中并不是ERROR,不过这确实是一件严重的事情);
rror: extra qualification ‘Class::’ on member ‘Class’ [-fpermissive]
class Class { Class::Class(){} // 构造函数写成这样是错的,然而VS却能正常编译过,GCC则不能 }
error: invalid initialization of non-const reference of type ‘Type& {aka std::vector<std::shared_ptr<A> >&}’ from an rvalue of type ‘Type {aka std::vector<std::shared_ptr<A> >}’
这在VS下是没问题的. GCC报错也是为了安全, 因为返回的是引用, 要求const会使代码更安全.
min, max fabs等最好使用std的版本, windows自带的版本在linux下是肯定不能用的.
VS下不需要而Linux下需要的头文件
#include <memory> // std::shared_ptr() #include <string.h> // std::strcpy(), std::memcpy() #include <limits> // std::numeric_limits<>