C++ 初始化头文件c+中的引用+;
我试图让我的构造函数接收对对象的引用,并将其存储在私有变量中。我无法得到一份入会名单。 这是headerfile:C++ 初始化头文件c+中的引用+;,c++,reference,header,C++,Reference,Header,我试图让我的构造函数接收对对象的引用,并将其存储在私有变量中。我无法得到一份入会名单。 这是headerfile: private: Game &game; public: Player(Game & g): game(g); 使用入会名单是最好的方式吗?我做错了什么 构造函数初始值设定项列表不仅仅是实现这一点的“最佳”方法。这是唯一的办法 构造函数初始值设定项列表是构造函数定义的一部分。这意味着,一旦开始指定初始值设定项列表,就必须为构造函数提供完整的定义
private:
Game &game;
public:
Player(Game & g): game(g);
使用入会名单是最好的方式吗?我做错了什么 构造函数初始值设定项列表不仅仅是实现这一点的“最佳”方法。这是唯一的办法
构造函数初始值设定项列表是构造函数定义的一部分。这意味着,一旦开始指定初始值设定项列表,就必须为构造函数提供完整的定义,包括主体
public:
Player(Game &g): game(g)
{}
如果您的构造函数没有其他事情要做,那么主体将是空的(如上面的示例所示)。但是在任何情况下都必须指定主体。构造函数初始值设定项列表不仅仅是执行此操作的“最佳”方式。这是唯一的办法
构造函数初始值设定项列表是构造函数定义的一部分。这意味着,一旦开始指定初始值设定项列表,就必须为构造函数提供完整的定义,包括主体
public:
Player(Game &g): game(g)
{}
如果您的构造函数没有其他事情要做,那么主体将是空的(如上面的示例所示)。但在任何情况下都必须指定主体。什么不起作用?您是否遇到编译器错误?它在运行时失败了吗?还有什么?什么不起作用?您是否遇到编译器错误?它在运行时失败了吗?还有别的吗?它解决了我的问题,但另一个问题出现了。“对不完整类型'struct Game'的使用无效”。不看代码就知道了吗?你可能还没有包括游戏。h:)我已经包括了!这可能是因为我的头文件开头的“类游戏”吗?@Dan Andreason:从这个“不看代码”中可以得出的唯一想法是,正如错误消息所示,您的类型
游戏不完整。它解决了我的问题,但出现了另一个问题。“对不完整类型'struct Game'的使用无效”。不看代码就知道了吗?你可能还没有包括游戏。h:)我已经包括了!这可能是因为我的头文件开头的“类游戏”吗?@Dan Andreason:从这个“不看代码”中可以得出的唯一想法是,正如错误消息所示,您的类型游戏
不完整。