我回到C ++并且需要很少的帮助。我知道什么是const指针,但我可以找到,如何正确地在构造函数中分配它令人沮丧;)
所以例如:
public:
TransferManager::TransferManager( Account * source, double amount )
{
account = source; // that doesn't work ;)
}
private:
Account * const account;
1>proj1.cpp(63): error C2166: l-value specifies const object
该错误信息对我来说并不清楚。
我做了一些研究,但我发现的只是const指针,指向const var的指针和指向const var的const指针之间的区别......
答案 0 :(得分:10)
使用initializer-list初始化const成员:
TransferManager::TransferManager( Account * source, double amount ) : account(source) {
}
错误消息表示您正在尝试分配给const的东西 - 这是不允许的。您必须初始化此类成员变量,而不是分配给它们。