通过引用将向量对象传递给函数? [关闭]

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&lt;object&gt;vector&lt;object&gt;&amp; rock 语法对于传递参数是完全错误的。 请学习基本的 C++ 语法。 请。 到一个矢量对象。我是这么想的。但是我在使用 rock 时也会出错。错误:从类型'object的表达式中对类型'std::vector&'的引用的无效初始化 @Dljcali 您似乎对函数、参数和调用函数的理解很差。 createObject 被声明为一个接受两个参数的函数:一个是对vector&lt;object&gt; 的引用,另一个是world。因此,当您调用该函数时,您必须vector&lt;object&gt;world 传递给该函数。您已将rock 声明为object,所以您当然不能通过! objectvector&lt;object&gt; 不同! 这样就解决了。我不知道向量。谢谢! 【参考方案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 ++将抽象类型的动态分配对象传递给函数并存储在向量中[重复]

对象作为参数传递给另一个类,通过值还是引用?

如何将向量作为参数传递给另一个向量?

如何将引用函数传递给另一个函数

如何将子类作为期望基类的函数的参数传递,然后将该对象传递给指向这些抽象类对象的指针向量?

Excel:通过单元格引用将数组参数传递给公式