相关疑难解决方法(0)

std :: abs(0u)是不是形成了?

鉴于以下计划:

#include <cmath>

int main()
{
    std::abs(0u) ;
}
Run Code Online (Sandbox Code Playgroud)

gcc并且clang不同意这是否是不正确的.使用gcclibstdc++代码建立无错误或警告(见直播),同时采用clanglibc++它生成以下错误(见直播):

error: call to 'abs' is ambiguous
std::abs(0u) ;
^~~~~~~~
Run Code Online (Sandbox Code Playgroud)

哪个结果是正确的?应该abs(0u)是暧昧与否?


MSalters指出了一个有趣的相关问题:std :: abs的模板版本.

c++ cmath language-lawyer c++11

16
推荐指数
1
解决办法
1971
查看次数

标签 统计

c++ ×1

c++11 ×1

cmath ×1

language-lawyer ×1