Es fehlt ein Semikolon in der Datei iterator

smartino969

Grünschnabel
Der Compiler zeigd mir an, dass in der Datei iterator ein ';' fehlt aber ich habe dise Datei nicht gemacht oder verändert.
Darum Freue ich mich auf eine Antwort, denn ich möchte an meinem Projekt über SDL weiter arbeiten. :)

main.cpp
Code:
#include "sdl.h"
#include "framework.h"
#include <string>
#include <iostream>


using namespace std;


SDL_Surface *load_image(string filename_str);
void		*set_image(int x, int y, SDL_Surface* src, SDL_Surface* dst);


int main(int argc, char* args[])
{
	SDL_Surface *image = NULL;
	SDL_Surface *image2 = NULL;

	bool run = true;

	framework Framework;

	Framework.Init(1280, 720, 32, false);
	//Screen wird Definirt
	SDL_WM_SetCaption("Hallo", NULL);						


	image = load_image("hallo.bmp");							


	set_image(100, 100, image, Framework.Screen());
	Framework.Flip();
	Framework.Clear();
	SDL_Delay(2000);											


	while (run == true)
	{
		if (Framework.keyDown(SDL_QUIT) == 1)
		{
			run = 0;
		}

	}

	Framework.Quit();
	return 0;
}

SDL_Surface *load_image(string filename_str)
{
	SDL_Surface *old_image = NULL;
	SDL_Surface	*optionmizedImage = NULL;

	old_image = SDL_LoadBMP(filename_str.c_str());

	if (old_image != NULL)
	{
		optionmizedImage = SDL_DisplayFormat(old_image);
		SDL_FreeSurface(old_image);
	}
	else
	{
		cout << "Bild konte nicht Kombilirt werden" << endl;
	}
	return optionmizedImage;

}

void	*set_image(int x, int y, SDL_Surface* src, SDL_Surface* dst)
{
	SDL_Rect position;

	position.x = x;
	position.y = y;

	SDL_BlitSurface(src, NULL, dst, &position);
	return 0;
}

framemork.h
Code:
#ifndef	FRAMEWORK_H
#define	FRAMEWORK_H
#include "framework.h"
#include "sdl.h"
#include <iostream>

using namespace std;
class framework
{
public:
	framework();
	virtual ~framework();

	bool Init(int ScreenWidth, int ScreenHeight, int ColorDepth, bool FullScreen);
	void Quit();
	void Flip();
	void Clear();
	bool keyDown(int Key_ID);
	SDL_Surface* Screen() { return pScreen; }

private:
	char button;
	SDL_Surface* pScreen;
}

#endif

framework.cpp
Code:
#include "framework.h"
#include "sdl.h"
#include <iostream>
#include <string>


using namespace std;

framework::framework(){
	button = '0';
}

bool framework::Init(int ScreenWidth, int ScreenHeight, int ColorDepth, bool FullScreen)
{

	//Prüfen ob Initalisieren ghet
	if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) == -1)
	{
		cout << "Die SDL Konnte nicht initalisiert werden!" << endl;
		cout << "Fehlermeldung: " << SDL_GetError() << endl;

		Quit();
		return (false);
	}

	// Fulscrinn erlmiteln
	if (FullScreen = true)
	{
		pScreen = SDL_SetVideoMode(ScreenWidth, ScreenHeight, ColorDepth, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN);
	}
	else
	{
		pScreen = SDL_SetVideoMode(ScreenWidth, ScreenHeight, ColorDepth, SDL_HWSURFACE | SDL_DOUBLEBUF);

	}

	//Prüfen ob alles Funktioniert hatt
	if (pScreen == NULL)
	{
		cout << "Videomodus konnte nicht gestzt werden!" << endl;
		cout << "Fehlermeldung. " << SDL_GetError() << endl;

		Quit();

		return(false);
	}

	return(true);
}

void framework::Quit()
{

	//SDL Beenden
	SDL_Quit();

}

void framework::Flip()
{
	SDL_Flip(pScreen);
}

void framework::Clear()
{
	// Buffer  (Surface) mit Hintergrundfrabe füllen
	SDL_FillRect(pScreen, NULL, SDL_MapRGB(pScreen->format, 0, 0, 0));
}

bool framework::keyDown(int Key_ID)
{
	// Prüfen ob die Taste Gedrückt ist
	SDL_Event event;
	SDL_PollEvent(&event);
	if (event.type == Key_ID)
	{
		return true;
	}
	else
	{
		return false;
	}

}
 
Hallo smartino969,
Ich finde deine Frage leider schwer verständlich. Was genau ist das Problem? Ein Semikolon fehlt?
Eigentlich müsste der Compiler dir doch anzeigen in welcher Datei und in welcher Zeile?

Und was sollen wir jetzt tun? Sollen wir die Datei nach dem fehlenden Semikolon durchsuchen?
Du hast keine iterator.cpp / iterator.h gepostet?

Du musst dich etwas klarer ausdrücken damit wir dir helfen können.

Grüße Technipion
 
wohl kaum müsst ihr nach einem Semikolon suchen.
Weil ich mir sicher bin, dass keines fehlt.
Sondern ich wollte nur wissen, warum der Compiler mir sagt, das ein fehlt in einer Datei ist, die ich nicht gemacht habe.
Denn ich vermute, dass ich etwas mit der Klasse nicht verstanden habe, denn es beisst sich immer in ein Hader Datei.
 
Sehr wahrscheinlich liegt es daran, dass du in deiner eigenen Datei ein Semikolon vergessen hast und der Fehler sich fortpflanzt. Mit einem Blick erkenne ich, dass du 2 Dateien vor Dateiein aus der STL inkludierst. SDL.h wird nicht von dir seien, daher schließe ich auf framework.h. Und siehe da, es fehlt ein Semikolon :D Nach der Klassendefinition gehört nämlich eines.

Grüße, Jennesta

Edit: Ganz nebenbei verstehe ich nicht warum du in framework.h selbige Datei inkludieren musst.
 
Zurück