Hi,
habe folgendes Problem:
ich habe eine Funktion geschrieben, die eine eingabe mit cin durchführen soll(te).
Wie man sich warscheinlich denken kann war ich mal wieder zu doof meine Probleme alleine zu lösen.
Ich habe auch schon etliche möglichkeiten durchprobiert diese Funktion selber ins laufen zu kriegen.
Wenn man die Funktion aufruft, soll sie ein Array von Typ char deklarieren.
Die länge des arrays soll als Parameter übergeben werden(interger wert).
Da liegt auch schon das Problem:
Es Kommen die Folgenden Fehler:
|
Quellcode
|
1
2
3
4
|
z:\faststream\src\io.cpp(95) : error C2057: expected constant expression
z:\faststream\src\io.cpp(95) : error C2466: cannot allocate an array of constant size 0
z:\faststream\src\io.cpp(95) : error C2133: 'cText' : unknown size
z:\faststream\src\io.cpp(101) : error C2065: 'cText' : undeclared identifier
|
Das soll wohl soviel heisen wie das es des Array nicht mit einer grösse von 0 deklarieren kann.
Das liegt wohl daran, dass die Variable dieeigentlich die Länge enthält noch nicht gefüllt ist.
Ich habe es auch schon mit Standart Parametern probiert, allerdings muss ich dann den Prototyp so ändern, dass dort eben nicht des mit dem Standart Parameter steht, sonder nur:
|
C-/C++-Quelltext
|
1
|
char eingabe(int iLengthOfText);
|
anstatt
|
C-/C++-Quelltext
|
1
|
char eingabe(int iLengthOfText = 2048);
|
Sonst kommt da nämlich irgendwas mit redefinition.(Ein Fehler)
Hier der Komplette Quellcode Der Funktion:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
char eingabe(int iLengthOfText)
{
// Variablendeklaration
char cText[iLengthOfText];
// Texteingabe
cin.getline(cText, iLengthOfText);
// Nun noch den eingegebenen Text zurückgeben
return cText;
}
|
Kann mir da bitte jemand helfen?
mfg,
Faule Socke