37

私は現在、トップダウン RPG 用の単純な 2D タイル エンジンの作成に関するチュートリアルに従おうとしています。何らかの理由でインテリセンスエラーが発生します

vector is not a template

「ベクトル」という単語には赤の下線が引かれています。これが機能しないのはなぜですか?なぜそれがテンプレートだと言っているのですか? また、なぜプログラムが機能しないという意味なのですか?

#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

私が得るエラー(間違いなく、これらのいくつかは上記のこの部分のエラーから発生します):

  • エラー 1 エラー C2143: 構文エラー: ';' がありません 前 '<' c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 2 エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません c:\users\vipar\dropbox\computer
    science\programming\visual studio
    2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 3 エラー C2238: ';' の前に予期しないトークンがあります c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 4 エラー C2143: 構文エラー: ';' がありません 前 '<' c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 5 エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません c:\users\vipar\dropbox\computer
    science\programming\visual studio
    2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 6 エラー C2238: ';' の前に予期しないトークンがあります c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 7 エラー C2065: 'textureList': 宣言されていない識別子 c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.cpp 22 1 sfml-app

  • エラー 8 エラー C2143: 構文エラー: ';' がありません 前 '<' c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 9 エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません c:\users\vipar\dropbox\computer
    science\programming\visual studio
    2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • エラー 10 エラー C2238: ';' の前に予期しないトークンがあります c:\users\vipar\dropbox\computer science\programming\visual studio 2012\projects\sfml-app\sfml-app\imagemanager.h 10 1 sfml-app

  • 11 IntelliSense: ベクトルはテンプレートではありません c:\Users\Vipar\Dropbox\Computer Science\Programming\Visual
    Studio 2012\Projects\sfml-app\sfml-app\ImageManager.h 10 2 sfml-app

4

2 に答える 2

60

vectorstd名前空間からのものであるため、次std::を指定するために使用する必要があります。

std::vector<sf::Texture> textureList;

usingまたは、次のステートメントを使用できます。

using std::vector;

vector<sf::Texture> textureList;
于 2013-05-23T01:15:44.197 に答える
8

コード サンプルにステートメントが表示されないため、次のように宣言に追加するusing必要があると確信しています。std::vector

std::vector<sf::Texture> textureList;
于 2013-05-23T01:15:53.153 に答える