Error C2109 :/ Hilfe ! ( Sorry hier nochmal mit richtig angezeigtem Code ^^ )



  • Hallo Leute ich bin völliger Anfänger im Programmieren und versuche mich gerade an einem Text basierendem Game in der Programmiersprache C.Leider wird mir beim Debuggen des folgenden Quellcodes immer ein error C2109 in der markierten Zeile angezeigt.Könnt ihr mir helfen ? :

    #include "stdafx.h"
    #include <stdio.h>
    #include <stdlib.h>
    
    //Prototypen
    void SpielfeldAusgabe(char *Spielfeld, int *FeldZustand);
    void Bewegung();
    
    int main()
    {
        char Spielfeld[10][10][3],Zug;
    	int FeldZustand[100] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
    	int PosX = 1, PosY = 1, i,k;
    
    	//Feldzustände zuordnen
    	for(i=0;i<10;i++) {
    		for(k=0;k<10;k++) {
    		Spielfeld[i][k][0] = 32;
    		}
    	}
    
    	for(i=0;i<10;i++) {
    		for(k=0;k<10;k++) {
    		Spielfeld[i][k][1] = 124;
    		}
    	}
    
    	for(i=0;i<10;i++) {
    		for(k=0;k<10;k++) {
    		Spielfeld[i][k][2] = 83;
    		}
    	}
    
    	//Setzen des Spielers
    
    	Spielfeld[PosY][PosX][0,1,2] = 83 ;
    
    	//Hauptteil
    	do {
    		SpielfeldAusgabe(&Spielfeld[0][0][0],&FeldZustand[0]);
    		printf("\nZug [w hoch, a links, s runter, d rechts]: ");
    		scanf("%c", &Zug);
    		Bewegung();
    	} while ( Zug != 'x' );
    
        return 0;
    }
    
    void SpielfeldAusgabe(char *Spielfeld, int *FeldZustand) {
    
    	printf("\n");
    	system("cls");
    
    	int j,l,Zustand = 0;
    
    	// Schleife für Zeilen, Y-Achse
    	for(j=0; j<10; j++) {
    		// Schleife für Spalten, X-Achse
    		for(l=0; l<10; l++) {
    			printf("%c", *(Spielfeld[j][l][FeldZustand[Zustand]]));
    
    //IN DER HIER DARÜBER LIEGENDEN ZEILE.  <----------------------------------------------------------------
    
    			Zustand++;
    		}
    		printf("\n");
    	}	
    }
    
    void Bewegung() {
    
    }
    


  • http://msdn.microsoft.com/de-de/library/fhexbxk9(v=vs.80).aspx
    Spielfeld hat in der Ausgabe einen völlig anderen Typ als noch in der main.



  • Ok danke. Hast du einen Vorschlag wie ich das beheben kann , mir fällt nämlich nichts ein ?



  • xxXLukas97Xxx schrieb:

    Ok danke. Hast du einen Vorschlag wie ich das beheben kann , mir fällt nämlich nichts ein ?

    Habe kurz versucht, es in Deinem Sinne zu reparieren. Aber geht nicht, da ist zu viel kaputt. Ich nehme an, Du wurdest gewolft. Eigentlich machen nur Wolf-Leser so einen Quark.

    #include "stdafx.h"
    #include <stdio.h>
    #include <stdlib.h>
    
    //Prototypen
    void SpielfeldAusgabe(char *Spielfeld, int *FeldZustand);
    void Bewegung();
    
    int main()
    {
        char Spielfeld[10][10][3],Zug;
        int FeldZustand[100] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
        int PosX = 1, PosY = 1, i,k;
    
        //Feldzustände zuordnen
        for(i=0;i<10;i++) {
            for(k=0;k<10;k++) {
            Spielfeld[i][k][0] = 32;
            }
        }
    
        for(i=0;i<10;i++) {
            for(k=0;k<10;k++) {
            Spielfeld[i][k][1] = 124;
            }
        }
    
        for(i=0;i<10;i++) {
            for(k=0;k<10;k++) {
            Spielfeld[i][k][2] = 83;
            }
        }
    
        //Setzen des Spielers
    
        Spielfeld[PosY][PosX][0,1,2] = 83 ;//hoer gebe ich s auf
    
        //Hauptteil
        do {
            SpielfeldAusgabe(&(Spielfeld[0][0][0]),&FeldZustand[0]);
            printf("\nZug [w hoch, a links, s runter, d rechts]: ");
            scanf("%c", &Zug);
            Bewegung();
        } while ( Zug != 'x' );
    
        return 0;
    }
    
    void SpielfeldAusgabe(char *(Spielfeld[10][10][3]), int *FeldZustand) {
    
        printf("\n");
        system("cls");
    
        int j,l,Zustand = 0;
    
        // Schleife für Zeilen, Y-Achse
        for(j=0; j<10; j++) {
            // Schleife für Spalten, X-Achse
            for(l=0; l<10; l++) {
                printf("%c", (*Spielfeld)[j][l][FeldZustand[Zustand]]);
    
    //IN DER HIER DARÜBER LIEGENDEN ZEILE.  <----------------------------------------------------------------
    
                Zustand++;
            }
            printf("\n");
        }
    }
    
    void Bewegung() {
    
    }
    


  • Kann ein Mod mal die beiden Threads zusammenlegen?



  • Sorry, Doppelthread.
    Da http://www.c-plusplus.net/forum/316986 gehts weiter.



  • Was is denn bitte Wolf ? 😃 Ich bin nurn völliger anfänger , das wird wohl der grund sein , aber trotzdem danke für den versuch 🙂


Log in to reply