Fehlermeldung bei meinen Socket "Startversuchen"
-
Ich verstehe nicht genau, was ihm mit const nicht passt?!
Compiling: /home/andi/C++ Projektordner/server.cpp
/home/andi/C++ Projektordner/server.cpp:4: warning: extra tokens at end of #include directive
/home/andi/C++ Projektordner/server.cpp: In function ‘int main()’:
/home/andi/C++ Projektordner/server.cpp:40: error: cannot convert ‘sockaddr_in*’ to ‘const sockaddr*’ for argument ‘2’ to ‘int connect(int, const sockaddr*, socklen_t)’
Process terminated with status 1 (0 minutes, 0 seconds)
1 errors, 1 warnings// int main() { int s = socket(AF_INET, SOCK_STREAM, 0); if(s == -1) { perror("BAD"); } struct sockaddr_in address; address.sin_addr.s_addr = inet_addr("127.0.0.1");; address.sin_port = htons(80); address.sin_family = AF_INET; if (connect(s, &address, sizeof(address)) == -1) { perror("connect() failed"); } return 0; }
Gruß
-
Das hat nichts mit dem
const
zu tun. Ich mach mal ein Highlight, damit klar wird, was das Problem ist"‘sockaddr**_in***’ to ‘const sockaddr*’"
Du musst das ganze einfach nur casten
(sockaddr const*)&address
.btw. die 25 Leerzeilen hättest du dir sparen können und lieber die Zeilennummer in der Fehlermeldung angepasst. Dann wäre dein Posting besser zu lesen
.