在“void City :: setList(List <city *> * l){list = l;}”中,List <city *> * l是什么意思?

时间:2015-05-31 15:53:07

标签: c++ pointers

我正在做一些任务,我不擅长理解指针。请帮助我理解我需要传递给这个函数的参数。

void City::setList(List<City*> *l){list = l;}

1 个答案:

答案 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