반응형

c++에서 소켓 프로그래밍을 하는 경우,

특별히 namespace를 지정하지 않았음에도

컴파일시에 bind 함수의 namespace가

자동으로 std::bind로 지정되는 경우가 있다.

namespace를 지정하지 않더라도,

컴파일러에서 자동으로 가장 비슷한 namespace를 찾아내어

지정하기 때문이다.

bind함수와 std::bind함수는 전혀 다른 함수이기 때문에,

이런 경우에는 명시적으로 namespace가 없다는 것을

컴파일러에 설명해 주어야 한다.

 

그러기 위해서는, 함수 앞에 그냥 ::을 붙여주면 된다.

예를 들면 다음과 같다.

 

// bind(_sockfd, _sockaddr, _addrlen);
// ===>
::bind(_sockfd, _sockaddr, _addrlen);

 

 

반응형

'프로그래밍' 카테고리의 다른 글

나무를 그리는 몇가지 방법  (0) 2019.06.13
한글깨짐  (0) 2019.05.29
리눅스에 SVN 설치하기  (0) 2019.04.29
WebAudio API를 이용한 간단한 화음  (0) 2018.06.03
HTML5에서 테스트해 봐야 할 두가지 함수  (0) 2018.05.10

+ Recent posts