在头文件c ++中初始化引用

时间:2012-11-21 00:04:39

标签: c++ reference header

我试图让我的构造函数接收对象的引用并将其存储在私有变量中。我无法获得启动列表。 这是头文件:

private:
  Game &game;

public:     
  Player(Game & g): game(g);

使用启动列表是最好的方法,我做错了什么?

1 个答案:

答案 0 :(得分:3)

构造函数初始化列表不仅仅是“最好”的方法。这是唯一的方式。

构造函数初始值设定项列表是构造函数定义的一部分。这意味着一旦开始指定初始化列表,就必须为构造函数提供完整的定义,包括正文

public:     
  Player(Game &g): game(g)
    {}

如果您的构造函数没有其他任何操作,则正文将为空(如上例所示)。但是你必须在任何情况下指定身体。