Zweidimensionales Array an Funktion übergeben
-
DocJunioR schrieb:
extern bool array[][];
würdsch mal so tippen.. befasse mich aber unoft mit sowas..
Das funktioniert leider nicht. Fehlermeldung: Feldindex fehlt.
-
ich sag ja, ich mach das nie.. habs in den letzten 10 Jahren nicht gebraucht..
-
el-niki schrieb:
Und wie macht man das? Kannst du mir bitte die Syntax dazu schicken?
el-niki schrieb:
OK, ich halte fest: Wir können globale zweidimensionale Arrays nicht in anderen cpp-Dateien verwenden, es sei denn wir benutzen Zeiger, richtig?
Falls es doch möglich ist, bitte ich um die korrekte Syntax.so ist korrekt:
// xyz1.c
int array[3][4];// xyz2.c
extern int array[3][4];
-
Wie gesagt, ham wir auch schon probiert. Funktioniert ebenfalls nicht.
Fehlermeldung: fatal error LNK1120: 10 nicht aufgelöste externe Verweise
-
el-niki schrieb:
Wie gesagt, ham wir auch schon probiert. Funktioniert ebenfalls nicht.
Fehlermeldung: fatal error LNK1120: 10 nicht aufgelöste externe Verweisewenn ich das mit dem c++ compiler übersetzen will, krieg ich den gleichen fehler.
aber mit c compiler funzt das.
-
el-niki schrieb:
Fehlermeldung: fatal error LNK1120: 10 nicht aufgelöste externe Verweise
Und wie lauten diese Verweise?
x.cpp
extern int a[3][4]; int main() { a[0][0]=1; }
y.cpp
int a[3][4];
ergibt ein einwandfreies Programm.
extern int a[][4];
ist ebenfalls möglich.
-
aaaah !
den link error krieg ich wenn ich c und cpp dateien mische.
jetzt hab ich es getrennt probiert mit nem c und c++ compiler, funzt beides !
-
jajajajaaaaaaa schrieb:
aaaah !
den link error krieg ich wenn ich c und cpp dateien mische.
jetzt hab ich es getrennt probiert mit nem c und c++ compiler, funzt beides !Fürs Mischen gibt es extern "C" - diese mögliche Fehlerquelle kann aber nach den Ausführungen des OP ausgeschlossen werden.
-
camper schrieb:
jajajajaaaaaaa schrieb:
aaaah !
den link error krieg ich wenn ich c und cpp dateien mische.
jetzt hab ich es getrennt probiert mit nem c und c++ compiler, funzt beides !Fürs Mischen gibt es extern "C" - diese mögliche Fehlerquelle kann aber nach den Ausführungen des OP ausgeschlossen werden.
ok, hab ich wohl nicht allzu deutlich beschrieben.
ich habe ein testprojekt mit ner main.c drin, compiler ist auf c gestellt.
dann füge ich ne datei test.cpp dazu und schreib dort int arr[3][3]; rein.
in main.c schreibe ich extern int arr[3][3]; und mach nen zugriff, z.b. arr[0][0] = 1.
dann bekomme ich die selbe fehlermeldung wie der op.mfg
jajajajaaaaaaa