今天跨平台编译项目,报错如题,使用的vs管理代码,所以直接查看abs定义,发现好多地方有实现,cmath、math.h、stdlib.h、cstdlib,然后都看了一遍之后,再看包含的头文件是stdlib.h和cmath,这两个毕竟是不配套的东西,尝试cstdlib换掉stdlib.h,编译通过了,按我理解应该是c标准和c++标准不完全一样导致的。所以两两配套使用有奇效。
C++: error: call of overloaded ‘abs(int)’ is ambiguous
最新推荐文章于 2023-11-02 15:59:38 发布
本文分享了一次跨平台编译项目中遇到的头文件冲突问题,具体表现为使用vs管理代码时,abs定义在多个头文件中(cmath、math.h、stdlib.h、cstdlib)出现,最终通过将stdlib.h替换为cstdlib解决了c与c++标准不一致导致的问题。

2586

被折叠的 条评论
为什么被折叠?



