返回自定义类数组的c ++函数会出错

Posted

技术标签:

【中文标题】返回自定义类数组的c ++函数会出错【英文标题】:c++ function returning a custom class array gives an error 【发布时间】:2012-11-06 20:13:53 【问题描述】:

我有一堂课:

class cAsset
  public:
     void data(int);
     int returnInfo(void);

和一个假设返回 cAssets 数组的函数

cAsset[] myFunc(int a, int b)
   ...

错误是:

Expected member name or ';' after declaration specifiers

我错过了什么?

【问题讨论】:

***.com/questions/9995564/… 你错过了你的 C++ 书。 让我们point him at one,@LightnessRacesinOrbit。 @Robᵩ:是的,让我们来吧!也许会是better than the one,他当然在网上提问之前已经在阅读了…… 【参考方案1】:

您不能在 C++ 中返回数组。请尝试返回 std::vector<cAsset>

std::vector<cAsset> myFunc(int a, int b)
  std::vector<cAsset> result;
  result.push_back(cAsset(4,2));
  result.push_back(cAsset(a,b));
  return result;

【讨论】:

有趣。有什么理由吗?我的意思是,我认为您可以声明数组,还是仅仅因为向量接受泛型类? 可以声明数组。您不能分配给/从它们,也不能从函数中返回它们。至于“为什么”:数组和指针的工作方式与它们在 C 中的工作方式相同,即高效且不直观。 啊,好的。很高兴知道。感谢@Rob 的帮助。我想知道为什么会这样。 另一个选项,在 C++11 中是 std::array&lt;cAsset, N&gt;,其中 N 是编译时已知常量。

以上是关于返回自定义类数组的c ++函数会出错的主要内容,如果未能解决你的问题,请参考以下文章

js中一个自定义数组的问题

如何自定义Flask中的响应类

在 SwiftUI 中创建一个包含自定义类数组的列表

如何使用 Typescript 使用自定义方法实现类数组类?

为啥这个自定义指针类会崩溃?

[Hive]Hive自定义函数UDF