我正在做一些任务,我不擅长理解指针。请帮助我理解我需要传递给这个函数的参数。
void City::setList(List<City*> *l){list = l;}
答案 0 :(得分:2)
如果没有看到List
的定义(并且因为Google不区分大小写),我无法给出确切的答案,但您需要构建类似这样的内容:
List<City*> myList;
然后(假设List
的工作方式类似于Java的List
):
City c; //Or with constructor, or whatever
myList.add(&c);
致电您的方法:
// `d` is some other City
d.setList(&myList);
但是有一个重要的警告:除非你用c
创建new
(根据我在这里使用的语法示例,你可能没有),任何指向它的指针都是一旦c
超出范围,就会悬空。你要确保你没有这样做。如果您使用new
创建它,则必须确保稍后delete
。