const指针作为类字段赋值

时间:2011-03-22 10:40:32

标签: c++ pointers

我回到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指针之间的区别......

1 个答案:

答案 0 :(得分:10)

使用initializer-list初始化const成员:

TransferManager::TransferManager( Account * source, double amount ) : account(source) {
}

错误消息表示您正在尝试分配给const的东西 - 这是不允许的。您必须初始化此类成员变量,而不是分配给它们。