[問題] bind 函數問題

作者: yshihyu (yshihyu)   2016-02-16 22:07:40
開發平台(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 函數嗎?
謝謝
作者: LPH66 (-6.2598534e+18f)   2016-02-16 23:00:00
<functional> 裡有一個 std::bind, winsock 這邊的則是不在 namespace 裡的 bind, 所以當 using namespace std;時前者會打開來到全域空間裡跟後者混在一起, 因此單寫 bind就不知道指的是哪個 bind 了; 加 :: 就是特別指定「我要那個不在 namespace 裡的 bind」反過來如果想指定 std 裡的那個 bind 就寫 std::bind

Links booklink

Contact Us: admin [ a t ] ucptt.com