C++ - 导致错误的矢量

C++ - Vector causing errors

本文关键字:错误 C++      更新时间:2023-10-16

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

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

std::vector<Bullet> bullets;

vectornamespace std 表示。将类型更改为std::vector,一切都会好起来的。

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

using namespace std;

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