gpt4 book ai didi

c++ - 引用 init 两次 cpp

转载 作者:行者123 更新时间:2023-11-28 05:55:40 25 4
gpt4 key购买 nike

您好,我正在尝试初始化一个成员通过引用传递的对象,

    class Machine: public sc::state_machine<Machine, Control>
{
public:
FIFOmidi& _midififo;

public:
Machine(FIFOmidi& m_fifo);

};

Machine::Machine(FIFOmidi& m_fifo):_midififo(m_fifo){}

然后我想在对象构造函数中初始化它,它具有相同的引用对象:

    class StateMachine{

private:

FIFOmidi& _midififo;
Machine myMachine;

public:

StateMachine(FIFOd3data& d_fifo, FIFOmidi& m_fifo);
};

StateMachine::StateMachine(FIFOd3data& d_fifo, FIFOmidi& m_fifo )
:_sharedfifo(d_fifo),_midififo(m_fifo){}

StateMachine 有一个 Machine 类型的对象(我没有使用继承)

那么如何从 Object StateMachine 初始化一个 Object Machine ??

因为当我声明 Machine Object 的一个实例时,编译器会询问我引用,因为它没有..

谢谢!!

最佳答案

只需将引用作为参数提供给构造函数:

StateMachine::StateMachine(FIFOd3data& d_fifo, FIFOmidi& m_fifo )
: _sharedfifo(d_fifo), _midififo(m_fifo), myMachine(m_fifo) {}

关于c++ - 引用 init 两次 cpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34198522/

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