gpt4 book ai didi

c++ - "Provides no initializer for reference member..."

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:56 25 4
gpt4 key购买 nike

经过一些谷歌搜索后,我找不到这个问题的答案。如何初始化它,为什么需要初始化?

#include "CalculatorController.h"


CalculatorController::CalculatorController(SimpleCalculator& aModel, ICalculatorView& aView)
{\\(this is the bracket informing me of the error)

fModel = aModel;
fView = aView;
}

标题:

#pragma once

#include "ICalculatorView.h"
#include "SimpleCalculator.h"

class CalculatorController
{
private:
SimpleCalculator& fModel;
ICalculatorView& fView;
public:
CalculatorController(SimpleCalculator& aModel, ICalculatorView& aView);

void run();
~CalculatorController();
};

最佳答案

代替:

CalculatorController::CalculatorController(SimpleCalculator& aModel, ICalculatorView& aView)
{\\(this is the bracket informing me of the error)

fModel = aModel;
fView = aView;
}

使用

CalculatorController::CalculatorController(SimpleCalculator& aModel, ICalculatorView& aView) 
: fModel(aModel),fView(aView)
{
}

fModel 和fView 是引用成员。 CalculatorController 的不同实例可以通过这种方式共享相同的实例 fModel 和 fView,而无需使用讨厌的指针。

引用成员必须在创建时初始化。我的第二个代码块展示了如何操作。

关于c++ - "Provides no initializer for reference member...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30069384/

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