sqrt被定义为多个地方(xtgmath)

时间:2017-10-29 20:12:24

标签: c++ c++11 resharper std cmath

我包含c +标题<cmath>,而不是math.h,并期望像sqrt这样的函数在std中被定义为std::sqrt,但令我惊讶的是,resharper坚持认为撰写std

时,std::sqrt多余

经过一番挖掘后,事实证明全局命名空间中有一个sqrt,经过更深入挖掘后,它来自包含<vector>,而xtgmath.h又定义sqrt {1}}在全局命名空间中。

Vector是一个现代标题(如未命名.h),这对我来说有点令人惊讶。

我想,除了烦人的resharper通知之外,它并不重要,因为我仍然可以明确地写std::sqrt并确定我得到了什么,但是再一次,我可以忘记某个地方的std随机使用不同的实现,这对我来说似乎有点不对。

我看到的问题都没有? 处理这个问题的正确方法是什么?

0 个答案:

没有答案