我确定以前有人问过这个问题,但是所有搜索结果都有const&
问题。
我想确保以下方法不会更改GuestNode
传递给它的值,所以我想通过const GuestNode& guest
,但 g++ 不会让这种情况发生,因为我正在分配&guest
to 指针。为什么会这样?以及如何确保传递的参数保持原样?
void GuestList::Add(GuestNode& guest)
{
if ( first == 0 )
{
//first guest
first = &guest;
}
else
{
//nth guest
GuestNode *p = first;
while ( p->next != 0 )
p = p->next;
p->next = &guest;
}
SetCount(GetCount() + 1);
}