gpt4 book ai didi

c++ - 结构实例

转载 作者:行者123 更新时间:2023-11-27 23:25:25 25 4
gpt4 key购买 nike

我已经研究这个问题 2 天了,但没有成功。

我预定义了以下结构

struct Motor : Port {
Motor(port_t port) : Port(port) {}
void moveAtVelocity(int velocity) { move_at_velocity(m_port, velocity); }
....
};

然后我尝试调用该结构的一个实例

Motor M;

我得到了

Error: No matching function for call to Motor::Motor()
Note: Candidates are Motor::Motor(port_t)

我如何调用一个实例,例如我可以使用下面的方法

moveAtVelocity(..);

我知道我在类和结构以及构造函数和析构函数之间搞砸了;问题是我找不到合适的教程,如果你能为我链​​接一个,额外的荣誉。

提前致谢:-)

最佳答案

没错;你应该拥有的是:

Motor M(123);

(其中 123 是一个端口)。

当您只说 Motor M; 时,编译器会尝试通过调用无参数构造函数来构造此对象。你没有任何定义。但是,您可以像我上面显示的那样只传递必需的参数。

当然,另一种解决方案是只添加一个无参数的构造函数,但这需要您的基类 Port 也有一个,或者让您传递一个固定值:

Motor() : Port(123) {}  // fixed value
Motor() {} // assumes Port has a parameterless constructor

关于c++ - 结构实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9837427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com