错误:声明未声明

时间:2014-12-21 23:18:53

标签: c++ object header

你好,我是C ++的新手,来自Java,所以当我尝试制作一个公共的ItemRegister或其他任何东西时,我确实尝试构建一个小游戏。我打算只有一个它需要公共访问。

Game.h

#pragma once
#include "ItemRegister.h"


class Game{
    static ItemRegister register;

public:
    Game();
    ~Game();
private:
    Item test;
};

ItemRegister.h

#pragma once
#include <string>
#include <vector>
#include "Item.h"

using namespace std;
class ItemRegister{
    public:
    ItemRegister();
    ~ItemRegister();

    void registerItem(Item newItem);
    Item getItem(string name);
    Item getItemByID(int id);
    int getItemID(string name);

    int getRegisteredItemMax();
private:
    vector<Item> registeredItems;

};

ItemRegister寄存器始终会抛出错误。

1 个答案:

答案 0 :(得分:4)

register是一个C ++关键字,因此您不能将其用作变量名。

class Game{
    static ItemRegister register;
                        ^^^^^^^^

您可以找到C ++关键字here.

的完整列表