array im private Berreich erst später deklarieren
-
new oder malloc tun's auch.

übrigens, besser
#ifndef WIN32 #define SOCKET int #endifals
#ifdef WIN32 SOCKET sock[slots]; #else int sock[slots]; #endif
-
Ja, oder SOCKET kapseln:
class socket : private boost::noncopyable { #ifdef _WIN32 // ... #else // ... #endif };Oder gleich Boost.ASIO o.ä. verwenden.
p.S.:
#ifndef WIN32 #define SOCKET int #endifBitte typedef, nicht #define.
-
Hi,
Danke für eure Antworten.
Werde wohl new verwenden
#ifndef WIN32 #define SOCKET int #endifSollte das nicht:
#ifndef WIN32 typedef int SOCKET; #endifheißen???
MFG ReduX
-
ReduX schrieb:
Werde wohl new verwenden

warum? was spricht denn gegen
stichwort schrieb:
std::vector
?
-
Eigentlich nichts...
Bin jedoch mit new mehr vertraut!MFG ReduX :xmas1:
-
trau dich an std::vector, wirst sehen das es ganz easy ist und viel komfortabler als new :xmas1:
-
Vor allem ist es viel mehr C++ als new

-
vector<int>* array = new vector<int>();Geht doch auch mit new

-
Hi,
Warum funktioniert bei vector folgendes nicht:std::vector<SOCKET> clients;Dort kommt die Meldung:
ISO C++ verbietet vector ohnen typ.
Aber der Typ SOCKET hab ich ja mit typedef deklariert!MFG ReduX :xmas1:
-
Zeig mal mehr von deinem Code
-
Hi,
Ja also am Anfang halt:#ifndef WIN32 typedef int SOCKET; #endifUnd in der Klasse im private Berreich dann:
std::vector<SOCKET> clients;MFG ReduX :xmas1:
-
#ifdef WIN32 typedef SOCKET socket_t; #else typedef int socket_t; #endif typedef std::vector<socket_t> socket_vector; socket_vector clients;was sagt der compiler dazu?
-
Hi,
Dann bekomme ich vom Compiler:expected initializer before »<« tokenVerstehe ich aber nicht!
MFG ReduX :xmas1:
-
Hast du eventuell vergessen, den Header <vector> einzubinden?
-
Hi,
Hatte ihn nicht includiert macht aber keinen unterschied wenn ich ihn reinmache!MFG ReduX :xmas1:
-
dann zeig doch mal mehr code.
-
Hi,
Hier mal das wesentliche:
MEINNAMESPACE.h:#ifdef WIN32 typedef SOCKET socket_t; #else typedef int socket_t; #endif typedef std::vector<socket_t> socket_vector; #include <vector> #include <string> namspace MEINNAMESPACE { class MEINECLASS { private: socket_vector clients; public: //.... }; }MFG ReduX :xmas1:
-
du solltest <vector> vielleicht früher inkludieren. am besten bevor du vector<> zum ersten mal verwendest.
-
Hi,
Danke jetzt Funktionierts.
War ein dummer leichzinsfehler von mir
Irgendwie wird im Post über mir der Code nicht in so ein kasten gepackt hab aber bbc verwendet.MFG ReduX :xmas1:
-
das mit der darstellung liegt daran, dass mitten in deinem code ein [/code] drinsteht, das da nix zu suchen hat.