Seltsame Probleme bei Umstieg auf C++



  • Also ich bin von Java auf C++ umgestiegen und mir tun sich ungeahnte Probleme auf.
    Ich würde gerne wissen wie man folgendes Problem als erfahrener C++ Programmierer lösen sollte: (brauche nur C++ Rat, wie das Zeug zu zeichnen ist ist kein Problem)
    Ich habe eine Klasse namens "Ball" und die soll Zeichenfunktionen, Größe, Geschwindigkeit usw regeln. Normalerweise in Java kein Problem für mich.
    Schaut so aus:
    Header:

    class Ball {
    public:
    	static const int velocity=10;
    	const unsigned char size[256];
    
    	void drawBall(int x, int y, unsigned int color,SDL_Surface *screen,unsigned char ball[]);
    };
    

    Jetzt würd ich gerne mein "size[256]" array das die Form des Balles in Pixeln bestimmt initialisieren. Nur klappt das einfach nirgends. Weil es const ist? Aber irgendwo muss es doch mal definiert werden ?!
    Meine Konstruktoren:

    Ball::Ball(){
    	this->size=(
    		0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,
    		0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,
    		0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,
    		0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
    		0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
    		0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
    		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
    		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
    		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
    		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
    		0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
    		0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
    		0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
    		0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,
    		0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,
    		0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0
    
    	);
    };
    Ball::Ball(){};
    

    error C2059: syntax error : '{'

    Im main Programm erschaffe ich mir nen Ball dann so:
    Ball spielball;

    Das war jetzt längst nicht alles was ich schon ausprobiert habe um das zum Laufen zu bekommen, nur alle meine Fehler aufzuzählen würde Seiten sprengen.
    Ich hoffe ihr könnt mir nen Tipp geben was ich da ständig übersehe.



  • Achja im Header fehlt der Konstruktor, das ist aber nicht der Fehler, hab ich korrigiert.





  • Dein Problem scheint nicht MFC-typisch zu sein, deshalb bist Du hier im falschen Forum. Aber zu Deinem Problem:

    CPP-Tutor schrieb:

    Benannte Konstanten werden prinzipiell wie Variablen definiert, d.h. sie haben einen Datentyp und einen Namen (Konstantenname). Zusätzlich erfolgt jedoch vor dem Datentyp die Angabe des Schlüsselwortes const. Und da Konstanten während des Programmlaufs ihren Wert nicht ändern können, müssen Sie bei ihrer Definition initialisiert werden.


Anmelden zum Antworten