funktion außerhalb einer klasse aufrufen
-
hallo, ich möchte innerhalb der operation einer klasse eine funktion aufrufen,
die in keiner klasse definiert ist. Genaugenommen ist die funktion in einer library.
konkret geht es dabei um sockets. Code-Schnippsel:Client::Client(){ cout << "Client is da *wink*"; server = socket(AF_INET, SOCK_STREAM, 0); if (server == -1){ perror("socket() failed"); return; } }der fehler:
D:\Eigene Dateien\codeblocks\Socket\Client.h:21: error: `AF_INET' undeclared (first use this function) D:\Eigene Dateien\codeblocks\Socket\Client.h:21: error: (Each undeclared identifier is reported only once for each function it appears in.) D:\Eigene Dateien\codeblocks\Socket\Client.h:21: error: `SOCK_STREAM' undeclared (first use this function) D:\Eigene Dateien\codeblocks\Socket\Client.h:21: error: `socket' undeclared (first use this function) D:\Programme\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\include\WinSock.h:450: error: `SOCKET socket(int, int, int)' used prior to declaration :: === Build finished: 5 errors, 0 warnings ===was muss ich hier anders machen??
achso includes etc passiern in einem header:
#include "Server.h" #include "Client.h" #include <sys/types.h> #include <WinSock.h> #include <windows.h> #include <stdio.h> #include <cstdio> #include <iostream> #include <winsock.h> void initWinsock(); int initWinSock(){ WSADATA wsa; if (WSAStartup(MAKEWORD(1, 1), &wsa)) { printf("WSAStartup() failed, %lu\n", (unsigned long)GetLastError()); return EXIT_FAILURE; } return 0; }
-
Und der Header der die Includes beinhaltet wird auch in dem Codestück includet?
-
nein... ok danke ich dachte wenn sie im einen includet sind, sind sie auch in dem verfügbar was dort includet wird... is wohl nich so...