Вектор не является шаблоном?
в настоящее время я пытаюсь следовать учебнику по созданию простого 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;