반응형
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 |