Moinmoin,
ich habe mich jetzt endlich an OOP in C++ in verbindung mit SDL rangetraut. Mein Problem ist, dass ich gerne einen boolischen (heißt das so

) im private-Bereich initalisieren würde. Doch wenn ich das versuche bekomm ich folgende Fehlermeldung:
...\SGSF\include\GameFunctions.h|14|error: a brace-enclosed initializer is not allowed here before '{' token|
...\SGSF\include\GameFunctions.h|14|error: ISO C++ forbids initialization of member 'keys'|
...\SGSF\include\GameFunctions.h|14|error: making 'keys' static|
...\SGSF\include\GameFunctions.h|14|error: invalid in-class initialization of static data member of non-integral type 'bool [323]'|
...\SGSF\include\GameFunctions.h||In member function 'void game::handleInput()'

...\SGSF\include\GameFunctions.h|79|error: 'keys' was not declared in this scope|
...\SGSF\include\GameFunctions.h|84|error: 'keys' was not declared in this scope|
...\SGSF\include\GameFunctions.h|8

error: 'keys' was not declared in this scope|
...\SGSF\main.cpp||In function 'int SDL_main(int, char**)'

...\SGSF\main.cpp|13|warning: no return statement in function returning non-void|
||=== Build finished: 7 errors, 1 warnings ===|
Code:
|
C/C++ Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <string>
#include <iostream>
#include <cstdlib>
#include "integer.h"
using namespace std;
class game
{
private:
bool gameRunning;
bool keys[323] = {false};
SDL_Event event;
public:
game();
void start();
bool isRunning();
void drawSprite(int sWidth, int sHeight, int xPos, int yPos, SDL_Surface* source, SDL_Surface* destination);
void handleInput();
void close();
};
|
Wenn ich den Array in der handle::input(); initalisiere läuft alles ohne Probleme. Wäre dankbar für Hilfe