C ++ - 导致错误的矢量

时间:2012-04-23 17:10:16

标签: c++ vector

下面的类会吐出大约20个错误,但如果我注释掉了矢量子弹,那么它似乎一切都很好。我错过了一些明显的错误吗?

#include <vector>
#include "SDL.h"
#include "Bullet.h"

#ifndef GAMEDATA_H
#define GAMEDATA_H

class GameData
{
public:
    GameData();
    ~GameData();
    GameData(const GameData& data);
    GameData& operator=(const GameData* rhs);

    vector<Bullet> bullets;

    SDL_Surface* shipimage;
    SDL_Surface* bulletimage;
};

#endif

2 个答案:

答案 0 :(得分:7)

vector位于名称空间std内。将您bullets声明修改为:

std::vector<Bullet> bullets;

答案 1 :(得分:2)

vectornamespace std中声明。将类型更改为std::vector,一切都会好的。

在源文件中,如果您过度使用std成员,您可能会发现声明它很有用:

using namespace std;

在任何其他代码行之前。这样您就可以在没有std限定符的情况下访问std::成员。这就是为什么你没有看到大多数例子前面的std:: - 他们宣布这个指令。