作者yshihyu (yshihyu)
看板C_and_CPP
标题[问题] bind 函数问题
时间Tue Feb 16 22:07:40 2016
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
vc++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
winsock
if (bind(s, (struct sockaddr *)&server, sizeof(server)) == SOCKET_ERROR)
{
exit(EXIT_FAILURE);
}
今天工作发现一个问题, 就是在c++ 使用 bind , 结果bind 编译过不了
网路上找资料後来加上:: 变成 ::bind 才可以编译过
想请问一下加上:: 作用是什麽?
还有个疑问是bind 是有区分不同lib 的bind 函数吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.182.196.169
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1455631663.A.B14.html
1F:推 LPH66: <functional> 里有一个 std::bind, winsock 这边的则是 02/16 23:00
2F:→ LPH66: 不在 namespace 里的 bind, 所以当 using namespace std;时 02/16 23:00
3F:→ LPH66: 前者会打开来到全域空间里跟後者混在一起, 因此单写 bind 02/16 23:01
4F:→ LPH66: 就不知道指的是哪个 bind 了; 加 :: 就是特别指定 02/16 23:01
5F:→ LPH66: 「我要那个不在 namespace 里的 bind」 02/16 23:01
6F:→ LPH66: 反过来如果想指定 std 里的那个 bind 就写 std::bind 02/16 23:02