0

下面的类吐出大约 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
4

2 回答 2

7

vector在命名空间内std。将您bullets的声明修改为:

std::vector<Bullet> bullets;
于 2012-04-23T17:11:28.513 回答
2

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

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

using namespace std;

在任何其他代码行之前。这将允许您在没有限定符的情况下访问std成员。std::这正是您std::在大多数示例中看不到的原因——他们声明了这个指令。

于 2012-04-23T17:11:40.317 回答