größe eines arrays erst später definieren
-
Hallo,
weiß jemand wie ich am Anfang eines Programmes ein Array erstelle, aber erst später die Größe zuweise??
also ungefähr so...
char buffer;
....
buffer = new char[100];
??geht das iwie??
vielen Dank
-
char *buffer; .... buffer = new char[100];
-
Es gibt übrigens auch eine hubsche Alternative, wie du es dir ersparen kannst, auf das passende delete zu deinem new zu achten:
#include<vector> .... std::vector<char> buffer; ... buffer.resize(100);Benutzung ziemlich analog zu einem Array, aber mit intuitiver Übergabe an Funktionen, außerdem ist es flexibel in der Größe änderbar und hat noch ein paar sonstige Extras.
Oder falls du Zeichenketten speichern willst:
#include<string> .... std::string buffer; ... buffer.resize(100);Benutzung analog zu vector, aber mit ein paar Extras zur Manipulation von Zeichenketten.
Der Zeitpunkt wo man anfängt solche Sachen zu machen wie du gerade, ist ein guter, um sich diese Klassen einmal als komfortable Alternative anzugucken.
-
wenn ich das mach da kommt immer...
storage size of buffer isnt known...
-
eric33303 schrieb:
wenn ich das mach da kommt immer...
storage size of buffer isnt known...
Du machst nicht zufällig C? Das was ich gezeigt habe ist nämlich reines C++. Allerdings ist new auch reines C++.
Ein bisschen Code wäre auch hilfreich, wo der Fehler auftritt. Es könnte nämlich auch ein kleiner Fehler irgendwo sein.