使用指针数组作为函数的参数
Posted
技术标签:
【中文标题】使用指针数组作为函数的参数【英文标题】:using an array of pointers as a parameter of a function 【发布时间】:2016-03-07 18:37:49 【问题描述】:so 试图创建一个指向对象的指针数组并将其传递给函数,但出现错误。 我已经声明了一个数组。
shapes *myArray[2];
有功能
void addShape(shapes *myArray[]);
传递数组
addShape(myArray);
不工作。错误:“int *”类型的参数与“int **”类型的参数不兼容。
在这里做什么?
【问题讨论】:
你是 *** 上第 100 万个想知道为什么数组不能按值传递给函数的人。如果我将您的确切问题标题粘贴到 Google 搜索文本字段中,那么第一次点击会引导我进入 *** 问题,该问题可以回答您所问的所有问题。 Cannot reproduce。请发帖minimal reproducible example。 array of pointers as function parameter的可能重复 【参考方案1】:应该是
void addShape(shapes* (&myArray)[2]);
std::array<shapes*, 2>
of std::vector<shape*>
更直观
【讨论】:
如果您解释shapes *myArray[]
作为函数参数的含义,它可能对 OP 更有意义 :-)
这是一个任务,我应该在其中创建一个指针数组。以及将形状添加到该数组的函数
我不太明白这个答案,但我可能首先误解了这个问题,因为我无法重现问题。以上是关于使用指针数组作为函数的参数的主要内容,如果未能解决你的问题,请参考以下文章