c++ - 用另一个类成员 C++ 初始化一个类成员

标签 c++ class

我有一个类,其中有两个不同的类对象作为成员。我想用另一个成员初始化其中一个成员,但到目前为止我似乎无法让它工作。

例如,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/

相关文章:

.net - 如何在 C++ 中获取有关网络适配器的信息?

c# - 了解 C++ DLL 使用 union 映射到 C#

c++ - 查找通过 4x4 网格的所有路径

ios - 如何根据实例的属性更新 UILabel 的文本

java - Tomcat6 拒绝识别 WEB-INF/classes 文件夹中的类

c++ - 如何在 linux 上通过 cmake 链接 google protobuf 库?

c++ - Poco C++ 中的 undefined symbol

c++ - 将对象数组、对象的数量和所需的术语传递给函数

Java:如何从泛型类型中获取类文字?

c++ - 在 .h 文件或 .cpp 文件中实现类之间的区别