使用指针数组作为函数的参数

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 更有意义 :-) 这是一个任务,我应该在其中创建一个指针数组。以及将形状添加到该数组的函数 我不太明白这个答案,但我可能首先误解了这个问题,因为我无法重现问题。

以上是关于使用指针数组作为函数的参数的主要内容,如果未能解决你的问题,请参考以下文章

如何在C中将函数指针数组的函数指针作为函数参数传递?

二维数组指针作为函数参数传递

函数的参数,函数指针,函数作为形参

带有指针作为参数的数组的函数

C将int数组指针作为参数传递给函数

c语言中,函数的形参啥时候必须是指针