我有一个类,其中有两个不同的类对象作为成员。我想用另一个成员初始化其中一个成员,但到目前为止我似乎无法让它工作。
例如,Game game(&input);
包含必须指定类型的错误。我该怎么做呢?
class KApp {
private:
Input input;
Game game(&input);
};
class Input {
Input() {};
};
class Game {
private:
Input* input;
public:
Game(Input & inp) : input(&inp) {}
Game(Input* inp) : input(inp) {}
};
最佳答案
尝试这样的事情
class KApp {
private:
Input input;
Game game;
KApp() : game(&input) {}
};
Game game(&input);
发生的事情是你正在声明一个成员 game
,编译器已将其作为函数声明并正在提示该参数没有类型。
这样,您就可以在 KApp 的构造函数中显式调用 Game::Game(Input*)
(此时应使用其默认构造函数初始化输入)。
编辑 - 输入*与输入&
关于c++ - 用另一个类成员 C++ 初始化一个类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31551670/