作者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://www.ptt.cc/bbs/C_and_CPP/M.1455631663.A.B14.html
推 LPH66: <functional> 裡有一個 std::bind, winsock 這邊的則是 02/16 23:00
→ LPH66: 不在 namespace 裡的 bind, 所以當 using namespace std;時 02/16 23:00
→ LPH66: 前者會打開來到全域空間裡跟後者混在一起, 因此單寫 bind 02/16 23:01
→ LPH66: 就不知道指的是哪個 bind 了; 加 :: 就是特別指定 02/16 23:01
→ LPH66: 「我要那個不在 namespace 裡的 bind」 02/16 23:01
→ LPH66: 反過來如果想指定 std 裡的那個 bind 就寫 std::bind 02/16 23:02