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