【问题标题】: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; 不同!
  • 这样就解决了。我不知道向量。谢谢!

标签: c++ class vector


【解决方案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 的替代品)。

【讨论】:

  • 感谢您对此的澄清。之前搞不清对象和向量的关系。
猜你喜欢
  • 2019-08-07
  • 2018-06-09
  • 1970-01-01
  • 2017-08-08
  • 2013-09-05
  • 2013-11-13
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多