我在将队列作为参数传递给C中的函数时遇到一些问题++我有一个定义了queue<int> example[100];
的STL队列
我有一个定义了void calculateSum(queue<int> &example, int size){}
的函数
我正试图通过写入calculateSum(example, 100)
将队列传递给此函数,但我一直收到一个错误,说[cquery] no matching function for call to 'minimumDistance'
我该怎么办?任何反馈都将有助于
您的声明queue<int> example[100];
生成一个由100个队列组成的数组。
您可能想要的只是queue<int> example;
,然后让它随着添加元素而增长。
queue<int> example[100];
将创建一个队列数组(名为example
(。函数void calculateSum(queue<int> &example, int size)
接受对单个int队列(而不是队列数组(的引用。
假设你确实想要一个队列数组,并且你确实希望该函数只接受对单个队列的引用,那么你必须从数组中选择一个队列来传递给它。例如,你可以执行calculateSum(example[0], 123);
来传递数组中的第一个队列。