C++のソースコードにおいてabs関数でエラーが発生する。
エラー通知の例
1 2 3 4 5 6 |
more than one instance of overloaded function "abs" matches the xxx.c 100 argument list: function "__nounwind abs(double)" function "__nounwind abs(float)" function "__nounwind abs(long double)" argument types are: (int) |
原因
C++のabs関数は引数の型により多重定義されているため
型によるインクルードの違い
整数型
1 |
#include <cstdlib> |
浮動小数点型
1 |
#include <cmath> |
複素数型
1 |
#include <complex> |