Hab ein Problem bin sitze gerade an meinem ersten C++ Programm und bekomme es einfach nicht hin ein pointerarray zu erzeugen das ich aber erst nach einer methode die ich ausführen muss initialisiere!
willst du ein dynamisches array (also eins wo die grösse erst zur laufzeit feststeht dann so
C++:
int anzahl=100; //oder wie auch immer du die gewüsnchte grösse in anzahl bekommst... char *mydynarray=newchar[anzahl];
//mit dem array arbeiten
delete [] mydynarray; //am ende das speicherfreigeben nicht vergessen
wenn du richtig viel speicher allokieren willst solltest du besser immer die new methode wählen weil der speicher auf dem stack doch arg begrenzt ist... -- ...fleißig wie zwei Weißbrote
Dein Problem ist ein falscher Datentyp: new char[k] liefert einen Zeiger auf ein Array von char mit k Elementen. p ist jedoch ein Array von char*, also ein Array von Zeigern auf char, bei dem die Größenangabe fehlt. Wenn Du ein Array von char mit dynamischer Größe haben willst, musst Du die [] hinter p weglassen:
C++:
char* p; p = newchar[k];
Wenn Du ein Feld von Zeigern auf char haben willst:
@stephanw gut das wenigstens du das richtig gelesen hast... Ich hab mal wieder geantwortet ohne die frage richtig zu lesen... -- ...fleißig wie zwei Weißbrote