ich möchte die anzahl der elemente einer privat variable mit einer public variable vorgeben
-
ich möchte die anzahl der elemente einer privat variable mit einer public variable vorgeben
der compiler schreibt aber immer:
error: invalid use of member tcp_connection::maxconnectionssieht so aus:
class tcp_connection { public: int maxconnections; ... private: int connectSocket[maxconnections]; ...
hilfe
-
Wenn du es so machst muss größe von connectSocket muss zu compile-zeit bekannt sein. Was du anders machen kannst ist: das array dynamisch erzeugen
class tcp_connection { public: tcp_connection(int maxcon) :maxconnections(maxcon) { connectSocket = new int[maxconnections]; } ~tcp_connection() { delete[] connectSocket; } int maxconnections; ... private: int *connectSocket; ...
-
ich würd aber int maxconnections; privat machen, weil eine veränderung von maxconnections führt nicht automatisch zu einer veränderung des arrays.
-
Hm, ich würde das in den Konstruktor packen, und dann noch ne SetMaxConnections
funktion bauen, um später diese ändern zu können.
Wozu dafür eine Variable ?Devil
-
muss die Anzahl der verbindungen wirklich dynamisch (zur laufzeit aenderbar) sein ?
Wenns zur compilezeit bekannt iss, bietet sich nen template auch an ...
Ciao ...