English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Alle Kategorien

dass ich bei der definitin von
>
int i = 1;
char aArry[i]; X
<
einen fehler bekomme (X) oder ist die Definition unzulässig??
wenn ja, gibt es Alternativen??

2006-08-20 20:28:47 · 4 antworten · gefragt von jacco20001 2 in Computer & Internet Programmierung & Design

ich weis es wimmelt nur so von Rechtschreibfehlern, bin aber unter Zeitdruck!

2006-08-20 20:32:47 · update #1

Sprache:C++

2006-08-21 00:28:53 · update #2

4 antworten

Wenn du inti = 1 zuweist dann muss der Index des Arrays genauso lauten. Um welchen Compiler handelt es sich. Prinzipiell hat eine Fehlermeldung eines Compilers weniger mit dem Alter desselben zu tun, denn mehr mit der Unzulänglichkeit des Programmierers.

Normalerweise sind Programme so aufgebaut, das du Eingangs einen Deklarationsteil schreibst, der alle Variablen deklariert, z. Bsp legst du eine Array fest, meinetwegen

MyArray(12) as String,
i as Integer

Bevor der eigentliche Programmteil beginnt, werden die Variablen initialisiert, das heißt, es werden ihnen Werte zugewiesen

z.Bsp:

i=1
MyArray(i)="Test"

Andererseits könnte es sein, dass du mit deiner (obigen) Deklaration ein dynamisches Array festlegst. Diese ARt der Dimensionierung bedarf einer anderen Behandlung. Schau mal in der Hilfe nach, was dort zu dynamischen Arrays steht. Es ist sehr spezifisch.

2006-08-20 21:32:02 · answer #1 · answered by Paiwan 6 · 1 0

In Deinem Fall liegt es daran, dass der Wert von i zur Übersetzungszeit nicht bekannt ist und C keine dynamischen Arrays kennt. Wenn Du i als Konstante deklarierst, dann klappts:

#define i 1
char aArry[i];
X

2006-08-21 00:15:32 · answer #2 · answered by Anonymous · 1 0

Ja.

2006-08-28 17:25:46 · answer #3 · answered by Sailor Ripley 3 · 0 0

Beispiel:

#include

using namespace std;

void main()

{
int x = 6;
int y = 7;
int ergebnis;

ergebnis = x+y;

cout << "Das Ergebnis von 6+7 ist: \n" << ergebnis << endl;
}

Ausgabe:
Das Ergebnis von 6+7 ist:
13

2006-08-26 08:48:58 · answer #4 · answered by Alexander B 2 · 0 0

fedest.com, questions and answers