2 pièce(s) jointe(s)
	
	
		[VS 2013] Erreur compilation (erreur d'include ?)
	
	
		Bonjour, je rencontre depuis quelque jours des problèmes auquel je n'avait pas été confronté jusque là : (les erreurs affichés n'ont pas lieu d'être lorsque je regarde mon code)
Pièce jointe 139963
Après quelque recherche je suspecte mes directives d'inclusion d'être les responsables mais rien à faire, ce schéma est il normal ?
Pièce jointe 139964
Main.h
	Code:
	
1 2 3 4 5 6 7 8 9
   | #include <SFML/Graphics.hpp>
#include <stdlib.h>
#include <iostream>
 
#include "World.h"
#include "Element.h"
 
using namespace sf;
using namespace std;  | 
 Main.cpp
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
   | #include "Main.h"
 
void renderingThread(RenderWindow* window)
{
	World * world = new World();
 
	world->addElement(new Element(world, world->getTextureFromName("1"), "1", *new Vector2f(200, 200)));
 
	while (window->isOpen())
	{
		window->clear();
		for (vector<Sprite *>::iterator it = world->getSpriteArray()->begin(); it != world->getSpriteArray()->end(); it++)
		{
			window->draw(**it);
		}
		window->display();
	}
}
 
int main()
{
	RenderWindow window(VideoMode(800, 600), "OpenGL");
	window.setActive(false);
 
	Thread thread(&renderingThread, &window);
	thread.launch();
 
	while (window.isOpen())
	{
		Event event;
		while (window.pollEvent(event))
		{
			if (event.type == Event::Closed)
				window.close();
		}
	}
 
	return 0;
} | 
 World.h
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
   | #pragma once
#include "Main.h"
 
class World
{
private:
	map<string, string> * textureName;
	map<string, Texture *> * textureArray;
	map<string, Element *> * elementArray;
	vector<Sprite *> * spriteArray;
 
public:
	World();
	~World();
 
	void addElement(Element * element);
 
	vector<Sprite *> * getSpriteArray();
	Texture * getTextureFromName(string name);
 
}; | 
 World.cpp
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
   | #include "World.h"
 
World::World()
{
	/********************************** Chargement des textures en mémoire **********************************/
 
	// Création du tableau associatif : idTetxure -> fichierTexture
	this->textureName = new map<string, string>();
 
	// Création du tableau associatif : idTexture -> pointeurTexture
 
	// Remplissage tableau associatif : idTexture -> fichierTexture
	this->textureName->insert(pair<string, string>("1", "1.png"));
	this->textureName->insert(pair<string, string>("2", "2.png"));
	this->textureName->insert(pair<string, string>("3", "3.png"));
	this->textureName->insert(pair<string, string>("4", "4.png"));
 
	// Remplissage tableau associatif : idTexture -> pointeurTexture
	for (map<string, string>::iterator it = this->textureName->begin(); it != this->textureName->end(); it++)
	{
		Texture * texture = new Texture();
		texture->loadFromFile(it->second);
		this->textureArray->insert(pair<string, Texture *>(it->first, texture));
	}
 
	// Suppression du tableau associatif : idTetxure -> fichierTexture
	delete this->textureName;
 
	/********************************************************************************************************/
 
	// Création du tableau associatif : idElement -> pointeurElement
	this->elementArray = new map<string, Element *>();
 
	// Création du tableau : pointeurSprite
	this->spriteArray = new vector<Sprite *>();
}
 
World::~World()
{
	for (map<string, Texture *>::iterator it = this->textureArray->begin(); it != this->textureArray->end(); it++)
	{
		delete it->second;
	}
	delete this->textureArray;
}
 
void World::addElement(Element * element)
{
	this->elementArray->insert(pair<string, Element *>(element->getID(), element));
	this->spriteArray->push_back(element->getSprite());
}
 
vector<Sprite *> * World::getSpriteArray()
{
	return this->spriteArray;
}
 
Texture * World::getTextureFromName(string name)
{
	return this->textureArray->at(name);
} | 
 Element.h
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   | #pragma once
#include "Main.h"
 
class Element
{
private:
	string id;
	Sprite sprite;
 
public:
	Element(World * world, Texture * texture, string id, Vector2f &position);
	~Element();
 
	string getID();
	Sprite * getSprite();
 
}; | 
 Element.cpp
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
   | #include "Element.h"
 
Element::Element(World * world, Texture * texture, string id, Vector2f &position)
{
	this->id = id;
 
	Sprite sprite(*texture);
	sprite.setPosition(position);
 
	this->sprite = sprite;
 
	world->addElement(this);
}
 
Element::~Element()
{
}
 
string Element::getID()
{
	return this->id;
}
 
Sprite * Element::getSprite()
{
	return &this->sprite;
} | 
 Je ne vois vraiment pas ce qui cloche dans ce code, merci de vos réponses.