Problem mit 2D-Array als Parameterübergabe, help!
-
Tag,
ich habe hier folgendes:char szBarricades[ 4 ][ 90 ]; // ***** Save current barricades ***** field->GetCurrentBarricades( szBarricades ); // ***** [ ... ] ***** // ***** Redraw old barricades ***** field->DrawOldBarricades( &szBarricades[ 90 ] );GetCurrentBarricades - Funktion:
void CField::GetCurrentBarricades( char szBarricades[ 4 ][ 90 ] ) { for( int y = 0; y < 4; y++ ) { for( int x = 0; x < 90; x++ ) { if( GetFieldSymbol( x, y + 32 ) == '|' ) { szBarricades[ y ][ x ] = ' '; } else { szBarricades[ y ][ x ] = GetFieldSymbol( x, y + 32 ); } } } }DrawOldBarricades - Funktion:
void CField::DrawOldBarricades( char szBarricades[ 4 ][ 90 ] ) { for( int y = 0; y < 4; y++ ) { for( int x = 0; x < 90; x++ ) { switch( szBarricades[ y ][ x ] ) { // <== Hier krachts !!! case -1: { SetField( x, y + 32, EMPTY, szBarricades[ y ][ x ] ); break; } case -37: { SetField( x, y + 32, BARRICADES4, szBarricades[ y ][ x ] ); break; } case -78: { SetField( x, y + 32, BARRICADES3, szBarricades[ y ][ x ] ); break; } case -79: { SetField( x, y + 32, BARRICADES2, szBarricades[ y ][ x ] ); break; } case -80: { SetField( x, y + 32, BARRICADES1, szBarricades[ y ][ x ] ); break; } } } } }Allerdings sagt mir der Debuuger dann, das er das Array nicht lesen kann
( Zeile 7 [ Zweite Fkt.] ). Hm hat einer Idee?Gruß Tobi.
-
Hehe
char szBarricades[ 4 ][ 90 ];Ist in dem Fall ein Zeiger auf den Beginn einer array mit zeigern auf char-arrays..
Die Funktion muss also so aussehen:
void CField::GetCurrentBarricades( char **szBarricades ) { for( int y = 0; y < 4; y++ ) { for( int x = 0; x < 90; x++ ) { if( GetFieldSymbol( x, y + 32 ) == '|' ) { szBarricades[ y ][ x ] = ' '; } else { szBarricades[ y ][ x ] = GetFieldSymbol( x, y + 32 ); } } } }Hoffe ich zumindest

-
DataByte schrieb:
Hehe
char szBarricades[ 4 ][ 90 ];Ist in dem Fall ein Zeiger auf den Beginn einer array mit zeigern auf char-arrays..
Unfug.
Nebenbei enthält Zeile 9 des ersten Codeschnipsels einen Fehler.
-
Jo konnt ich mir schon denken, aber das war des einzige was dr Compi gefressen hat... wie muss ich das da schreiben?
-
T0bi schrieb:
Jo konnt ich mir schon denken, aber das war des einzige was dr Compi gefressen hat... wie muss ich das da schreiben?
Dia Antwort steht schon da.
-
Wie die Antwort steht schon da? Du hast mich doch nur noch mal bestätigt das Zeile 9 falsch ist?
-
T0bi schrieb:
Wie die Antwort steht schon da? Du hast mich doch nur noch mal bestätigt das Zeile 9 falsch ist?
irgendwo auf dieser Seite ist auch ein korrekter Aufruf zu finden.
-
Entshculdige aber ich fühl mich gerade einwenig verarscht, wenn er hier stehen solte, kannst du ihn net einfach noch mal marken reposten oder k.A., weil ich ihn nicht sehe, ausser mein eigenen Aufruf der ja falsch ist.
-
T0bi schrieb:
Entshculdige aber ich fühl mich gerade einwenig verarscht, wenn er hier stehen solte, kannst du ihn net einfach noch mal marken reposten oder k.A., weil ich ihn nicht sehe, ausser mein eigenen Aufruf der ja falsch ist.
Grausame Welt ...
GetCurrentBarricades hast du nicht selbst gemacht, oder?
-
Doch
