返回信息流今天在试《C++ primer plus》上的东西
和舍友尝试一下 transform 函数
但是发现了这个问题,代码第16行 ::sqrt 的 ::如果不加就会报错,加上就能运行,这是为啥呢?
这里附上代码方便大佬去尝试:
https://paste.ubuntu.com/p/dZM9JZ47jr/
这是一条镜像帖。来源:北邮人论坛 / cpp / #100990同步于 2021/7/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【问题】请教一个关于 C/C++的 :: 操作符的问题
sheeeeeeep
2021/7/27镜像同步22 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
我猜是因为using namespace std,导致编译器不知道你想用的是c的sqrt还是std::sqrt,所以如果你指定std::sqrt应该也可以。
::让编译器知道去root namespace找
【 在 Nroskill (Nroskill) 的大作中提到: 】
: 我猜是因为using namespace std,导致编译器不知道你想用的是c的sqrt还是std::sqrt,所以如果你指定std::sqrt应该也可以。
感谢回复!
刚才试了一下,无论我是否把using namespace std注释
掉,写std::sqrt都会报同样的错误...
【 在 Nroskill 的大作中提到: 】
: 我猜是因为using namespace std,导致编译器不知道你想用的是c的sqrt还是std::sqrt,所以如果你指定std::sqrt应该也可以。