C++ &引用;不为引用成员提供初始值设定项…“;

C++ &引用;不为引用成员提供初始值设定项…“;,c++,oop,object,C++,Oop,Object,在谷歌搜索之后,我找不到这个问题的答案。我如何初始化它,为什么需要初始化它 #include "CalculatorController.h" CalculatorController::CalculatorController(SimpleCalculator& aModel, ICalculatorView& aView) {\\(this is the bracket informing me of the error) fModel = aModel; fView

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

#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;
}
使用

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


引用成员必须在创建时初始化。我的第二个代码块显示了如何在成员初始化列表中初始化。

引用和
const
成员。你没有(但你即将有)。请参阅此问题:。为什么必须在成员初始化列表中初始化
const
和引用成员变量?对于引用成员变量,因为引用基本上是
cosnt
成员变量的常量,请参见示例,那么如何让fModel和fView引用任何内容?
CalculatorController::CalculatorController(SimpleCalculator& aModel, ICalculatorView& aView) 
 : fModel(aModel),fView(aView)
{
}