2013-04-23 15 views
5

Podczas próby przetworzenia wartości zwracanej (powinien być int) z sys/sockets.h bind(), Xcode nie skompilować z błędemC++/Xcode Gniazdka bind() Błąd

Invalid operands to binary expression ('__bind' and 'int')

It Wydaje się, że wyciąga niepoprawną definicję funkcji dla bind(), ponieważ kiedy wybieram "Jump to definition" z menu kontekstowego, daje mi trzy opcje: 2 definicje z functional.cpp i 1 z sys/sockets.h. Mam sys/sockets zawarte w moim kodzie, jak zmusić kompilator do używania poprawnej definicji?

+1

Użyj ':: bind' lub jeszcze lepiej, unikaj deklaracji' using', takich jak dżuma. –

Odpowiedz

18

Użyj ::bind lub pozbądź się using namespace std;.

+0

Awesome, that worked thanks !! – Calteran

+1

Nie ma problemu, możesz również przeczytać [Dlaczego "using namespace std;" uważa się za złą praktykę w C++?] (http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-a-bad-practice-in-c). –

+0

Zrobi. Właśnie wróciłem do C++ po 10 latach, tak bardzo zardzewiałych. – Calteran

Powiązane problemy