通过引用将向量对象传递给函数? [关闭]
Posted
技术标签:
【中文标题】通过引用将向量对象传递给函数? [关闭]【英文标题】:Passing a vector object to a function by reference? [closed] 【发布时间】:2013-12-22 01:03:20 【问题描述】:我如何在 main.js 中正确地请求 object rock。我简化了代码,认为这是唯一的问题。错误“预期在 '&' 标记之前的主表达式。
void createObject(vector <object>& obj, world wld)
....
int main()
object rock;
createObject(vector<object>& rock, level_1);
return 0;
【问题讨论】:
不清楚您要做什么。你想将object
传递给函数还是vector<object>
? vector<object>& rock
语法对于传递参数是完全错误的。
请学习基本的 C++ 语法。 请。
到一个矢量对象。我是这么想的。但是我在使用 rock 时也会出错。错误:从类型'object的表达式中对类型'std::vector
@Dljcali 您似乎对函数、参数和调用函数的理解很差。 createObject
被声明为一个接受两个参数的函数:一个是对vector<object>
的引用,另一个是world
。因此,当您调用该函数时,您必须将vector<object>
和world
传递给该函数。您已将rock
声明为object
,所以您当然不能通过! object
与 vector<object>
不同!
这样就解决了。我不知道向量。谢谢!
【参考方案1】:
很简单:
int main()
std::vector<object> rock_vector(1);
createObject(rock_vector, level_1);
您不能将rock
传递给它,因为它不是vector
。您需要将实际的vector
传递给它。在这里,我制作了大小为 1 的rock_vector
,所以它至少有一个object
(所以rock_vector[0]
或多或少是rock
的替代品)。
【讨论】:
感谢您对此的澄清。之前搞不清对象和向量的关系。以上是关于通过引用将向量对象传递给函数? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
C ++将抽象类型的动态分配对象传递给函数并存储在向量中[重复]