J'essaie actuellement de suivre un tutoriel sur la création d'un moteur de tuiles 2D simple pour les RPG descendants. Pour une raison que j'obtiens l'erreur Intellisense
vector is not a template
Le mot "vecteur" est souligné en rouge. Pourquoi ça ne marche pas? Pourquoi me dit-il que c'est un modèle et pourquoi cela signifie-t-il que le programme ne fonctionnera pas?
#ifndef _IMAGEMANAGER_H
#define _IMAGEMANAGER_H
#include <vector>
#include <SFML\Graphics.hpp>
class ImageManager
{
private:
vector<sf::Texture> textureList;
public:
ImageManager();
~ImageManager();
void AddTexture(sf::Texture& texture);
sf::Texture& GetTexture(int index);
};
#endif
Erreurs que j'obtiens (sans aucun doute certaines de ces erreurs proviennent de l'erreur de cette partie ci-dessus):
Erreur 1 erreur C2143: erreur de syntaxe: manquant ';' avant '<' c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app
Erreur 2 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge c-\ default-int par défaut: utilisateurs\vipar\dropbox\ordinateur
science\programmation\visual studio
2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-appErreur 3 Erreur C2238: jeton (s) inattendu (s) précédant ';' c:\users\vipar\dropbox\computer science\programmation\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app
Erreur 4 erreur C2143: erreur de syntaxe: manquant ';' avant '<' c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app
Erreur 5 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge c-\ default-int par défaut: utilisateurs\vipar\dropbox\ordinateur
science\programmation\visual studio
2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-appErreur 6 Erreur C2238: jeton (s) inattendu (s) précédant ';' c:\users\vipar\dropbox\computer science\programmation\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app
Erreur 7 erreur C2065: 'textureList': identifiant non déclaré c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.cpp 22 1 sfml-app
Erreur 8 erreur C2143: erreur de syntaxe: manquant ';' avant '<' c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app
Erreur 9 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge c-\ default-int par défaut: utilisateurs\vipar\dropbox\ordinateur
science\programmation\visual studio
2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-appErreur 10 Erreur C2238: jeton (s) inattendu (s) précédant ';' c:\users\vipar\dropbox\computer science\programmation\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app
11 IntelliSense: le vecteur n'est pas un modèle c:\Users\Vipar\Dropbox\Computer Science\Programming\Visual
Studio 2012\Projects\sfml-app\sfml-app\ImageManager.h 10 2 sfml-app
vector
provient de l'espace de noms std
, vous devez donc utiliser std::
spécifier:
std::vector<sf::Texture> textureList;
Ou vous pouvez utiliser une instruction using
:
using std::vector;
vector<sf::Texture> textureList;
Comme je ne vois aucune instruction using
dans votre exemple de code, je suis sûr que vous devez ajouter std::
à votre déclaration vector
, comme ceci:
std::vector<sf::Texture> textureList;