【发布时间】:2015-07-16 03:44:26
【问题描述】:
经过一些谷歌搜索后,我找不到这个问题的答案。如何初始化它,为什么需要?
#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();
};
【问题讨论】:
-
Reference 和
const成员必须在成员初始化列表中进行初始化。你没有(但你即将)。看到这个问题:"What is this weird colon-member (“ : ”) syntax in the constructor?". -
为什么
const和引用成员变量必须在成员初始化列表中初始化?对于引用成员变量,因为引用基本上是常量Once initialized, a reference cannot be changed to refer to another object. 对于cosnt成员变量,请参见示例here