web-dev-qa-db-ja.com

ベクターはテンプレートではありませんか?

現在、トップダウン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

20
OmniOwl

vectorstd名前空間からのものであるため、std:: 指定します:

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

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

using std::vector;

vector<sf::Texture> textureList;
42
0x499602D2

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

std::vector<sf::Texture> textureList;
7
Shafik Yaghmour