c++ error C2061: syntax error epected identifier

0

Witam mam problem z funkcją w kodzie , jako programista amator próbuję napisać grę ucząc się z książki SDL Game Development by Shaun Mitchell.
Załączam kody źródłowe w których coś gdzieś jest nie ok ;/ Przeanalizowałem je i nie mam pojęcia co schrzaniłem. Bardzo proszę o pomoc.
W komentarzu w Pliku Główna funkcja wyróżniłem miejsce występowania błędu.

FabrykaObiektów.h

 #include<iostream>
#include"Enemy.h"
#include"Obiekty.h"
#include"Textury.h"
#include"AnimowanaGrafika.h"
#include"Funkcje.h"
#include"PrzyciskMenu.h"
#include<map>
using namespace std;

#ifndef __FabrykaObiektów__
#define __FabrykaObiektów__




class Kreator
{

public:
	virtual Obiekty*KreatorObiektów()const =0 ;
	Kreator(){};
	virtual ~Kreator() {};

};



class StwórzObiekt
{
public:
	bool Typ(string typeID, Kreator* NaszKreator)
	{
		map<string, Kreator*>::iterator it = m_creators.find(typeID);
		if (it != m_creators.end())
		{
			delete NaszKreator;
			return false;
		}
		m_creators[typeID] = NaszKreator;
		return true;
	}

	Obiekty* create(string typeID)
	{
		map<string, Kreator*>::iterator it = m_creators.find(typeID);
		if (it == m_creators.end())
		{
			cout << "Nie mozna znalezc typu pliku\t" << typeID << endl;
			return NULL;
		}
		
		Kreator*NaszKreator = (*it).second;
		return NaszKreator->KreatorObiektów();

	}
	static StwórzObiekt*Temp_Obiekt;
	static StwórzObiekt * Instance()
	{
		if (Temp_Obiekt == 0)
		{
			Temp_Obiekt =new StwórzObiekt();
			return Temp_Obiekt;
		}
		return Temp_Obiekt;
	}
private:
	StwórzObiekt(){};
	map<string, Kreator*>m_creators;
	
};



#endif

Główna Funkcja

#include<iostream>
#include<SDL.h>
#include"Funkcje.h"
#include<SDL_image.h>
#include"Textury.h"
#include"Obiekty.h"
#include"Player.h"
#include"Enemy.h"
#include"Klawiatura.h"
#include"GameStateMachine.h"
#include"StanMenu.h"
#include"PlayState.h"
#include"FabrykaObiektów.h"
#include"StateParser.h"
#include"GłówneMenu.h"
#include<vector>
using namespace std;
Textury*Textury::Temp_Instance = 0;
Gra*Gra::Temp_Instance = 0;
StwórzObiekt*StwórzObiekt::Temp_Obiekt = 0;
Klawiatura*Klawiatura::s_pInstance = 0;
typedef Textury p_Textury;                       // p = pointer
typedef Gra p_Gra;
Obiekty*Ob;
Enemy *En;
Player* Pl;

vector<Obiekty*> Tablica_Obiektow; //Utworzenie tablicy , która przechowuje postac badz obiekt wraz z parametrami.

bool Gra::init(const char *title,int x , int y , int szer , int wys, int flag)  //Utworzenie okna i rendera , nastawienie koloru rendera.
{
	
	if (SDL_Init(SDL_INIT_EVERYTHING) == 0)
	{
		Okno = SDL_CreateWindow(title, x, y, wys, szer, flag);
		Ren = SDL_CreateRenderer(Okno, -1, 0);
		SDL_SetRenderDrawColor(Ren, 0, 0, 0, 255);
		StwórzObiekt::Instance()->Typ("SDL_Obiekty", new Obiekt()); // W TEJ FUNKCJI WYSTEPUJE BŁĄD "EXPECTED A TYPE SPECIFIER"  
		MachineStates = new GameStateMachine();
        MachineStates->pushState(new MainMenu());

	
	
	}
	else
	{
		cout << "Init Fail\n";
		return false;
	}
	if (Okno == 0)
	{
		cout << "Windows Fail\n";
		return false;
	}
	else
	{
		cout << "Windows Success\n";
	}
	if (Ren == 0)
	{
		cout << "Render Fail\n";
		return false;
	}
	else
	{
		cout << "Render Success\n";
	}
	 Działa = true;
	 return true;
}

void Gra::Quit() // Uwalnienie pamieci i takie pierdoły.
{
	std::cout << "cleaning game\n";
	SDL_DestroyWindow(Okno);
	SDL_DestroyRenderer(Ren);
	SDL_Quit();
	Działa = false;
}


void Gra::Events()    // Zamykanie Gry oraz obsługa myszki i klawiatury.
{
	if (Klawiatura::Instance()->isKeyDown(SDL_SCANCODE_RETURN))
	{
		MachineStates->changeState(new PlayState());
	}
	
	Klawiatura::Instance()->update();
	

}

void Gra::render() //Wyświetlanie obrazków i animacji
{
	
	
	SDL_RenderClear(Ren);
	
	MachineStates->render();
	SDL_RenderPresent(Ren);

}

void Gra::update()
{
	
	MachineStates->update();
}




 
0

A co to jest "Obiekt"? Masz taką klasę? Bo wszędzie widzę Obiekty a nie Obiekt.

0

Obiekt() to funkcja która podstawiam do "bool Typ(string typeID, Kreator* NaszKreator)" . Teoretycznie powinienem móc podstawic jakąkolwiek funkcję nawet bez uprzedniego utworzenia jej. Znalazłem kod czlowieka który pisał kod z tą samą książką co ja, wiec jest bardzo zbliżony. Po porównaniu jednak , nadal nie wiem co mam źle
Odpowiednik Fabryka Obiektów:
https://github.com/samsonchen1989/SDL_2D_Game/blob/master/SDL2Game/GameObjectFactory.h
Odpowiednik Główna Funkcja
https://github.com/samsonchen1989/SDL_2D_Game/blob/master/SDL2Game/Game.cpp

1 użytkowników online, w tym zalogowanych: 0, gości: 1