Вектор не является шаблоном?

в настоящее время я пытаюсь следовать учебнику по созданию простого 2D-движка плитки для нисходящих РПГ. По какой-то причине, хотя я получаю ошибку intellisense

vector is not a template

слово" вектор " подчеркнуто красным цветом. Почему это не работает? Почему он говорит мне, что это шаблон, и почему это означает, что программа не работает?

#ifndef _IMAGEMANAGER_H
#define _IMAGEMANAGER_H

#include <vector>
#include <SFMLGraphics.hpp>

class ImageManager
{
private:
    vector<sf::Texture> textureList;

public:
    ImageManager();
    ~ImageManager();

    void AddTexture(sf::Texture& texture);
    sf::Texture& GetTexture(int index);
};
#endif

ошибки, которые я получаю (без сомнения, некоторые из этих порождений от ошибки этой части выше):

  • Ошибка 1 ошибка C2143: синтаксическая ошибка: отсутствует '; ' перед '

  • Ошибка 2 ошибка C4430: отсутствует спецификатор типа-предполагается int. Примечание: C++ не поддерживает default-int c:usersvipardropboxcomputer
    наукаПрограммированиеvisual studio
    2012проектыsfml-appsfml-appimagemanager.h 10 1 sfml-app

  • Ошибка 3 ошибка C2238: неожиданный маркер(ы), предшествующий ';' c:usersvipardropboxcomputer наукаПрограммированиеvisual studio 2012проектыsfml-appsfml-appimagemanager.h 10 1 sfml-app

  • Ошибка 4 ошибка C2143: синтаксическая ошибка: отсутствует '; ' перед '

  • Ошибка 5 ошибка C4430: отсутствует спецификатор типа-предполагается int. Примечание: C++ не поддерживает default-int c:usersvipardropboxcomputer
    наукаПрограммированиеvisual studio
    2012проектыsfml-appsfml-appimagemanager.h 10 1 sfml-app

  • Ошибка 6 ошибка C2238: неожиданный маркер(ы), предшествующий ';' c:usersvipardropboxcomputer наукаПрограммированиеvisual studio 2012проектыsfml-appsfml-appimagemanager.h 10 1 sfml-app

  • Ошибка 7 ошибка C2065: 'textureList': необъявленный идентификатор c:usersvipardropboxcomputer наукаПрограммированиевизуальное studio 2012проектыsfml-appsfml-appimagemanager.cpp 22 1 sfml-app

  • Ошибка 8 Ошибка C2143: синтаксическая ошибка: отсутствует '; ' перед '

  • Ошибка 9 ошибка C4430: отсутствует спецификатор типа-предполагается int. Примечание: C++ не поддерживает default-int c:usersvipardropboxcomputer
    наукаПрограммированиеvisual studio
    2012проектыsfml-appsfml-appimagemanager.h 10 1 sfml-app

  • Ошибка 10 ошибка C2238: неожиданный маркер(ы), предшествующий ';' c:usersvipardropboxcomputer наукаПрограммированиеvisual studio 2012проектыsfml-appsfml-appimagemanager.h 10 1 sfml-app

  • 11 IntelliSense: вектор не является шаблоном c:UsersViparDropboxComputer наукаПрограммированиевизуальное
    Studio 2012проектыsfml-appsfml-appImageManager.h 10 2 sfml-app

2 ответов


vector С std пространство имен, поэтому вы должны использовать std:: указать:

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

или вы можете использовать using о себе:

using std::vector;

vector<sf::Texture> textureList;

так как я не вижу никаких using операторы в вашем примере кода, я уверен, что вам нужно добавить std:: на vector декларации, вот так:

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