0
class Tower
{
int index;//index of the tower;
nodeStack<int> t;
int size;//number of disks in the tower;

public:
Tower(int in);
void moveTopTo(Tower&);
void move(int size,Tower& dest,Tower& buffer);

};

void Tower::move(int n,Tower& dest,Tower& buffer)
{
    if(n>0)
    {
    move(n-1,buffer,dest);
    moveTopTo(dest);
    move(n-1,dest,this);
    }
}

この行で :move(n-1,dest,this);

非 const への参照の初期値は左辺値でなければならないというエラーが発生しました。

4

1 に答える 1

2

thisポインタを参照として使用できるように、ポインタを逆参照する必要があります。

move(n-1, dest, *this);
于 2013-01-18T23:03:05.503 に答える