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

返回自定义类数组的C++函数会出错,c++,class,methods,C++,Class,Methods,我有一门课: class cAsset{ public: void data(int); int returnInfo(void); } 和一个函数,该函数假定返回一个casset数组 cAsset[] myFunc(int a, int b){ ... } 错误是: Expected member name or ';' after declaration specifiers 我错过了什么? 你不能返回C++中的数组。请尝试返回std::vector 不能

我有一门课:

class cAsset{
  public:
     void data(int);
     int returnInfo(void);
}
和一个函数,该函数假定返回一个casset数组

cAsset[] myFunc(int a, int b){
   ...
}
错误是:

Expected member name or ';' after declaration specifiers

<>我错过了什么?

你不能返回C++中的数组。请尝试返回std::vector


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


你错过了你的C++书籍,所以让我们,@ Lexness CraceSein轨道。@ Robᵩ: 是的,我们走吧!也许他在网上提问之前已经阅读了……你错过了你的C++书籍。所以,让我们,@ Lexness CraceSein轨道。@ Robᵩ: 是的,我们走吧!也许他在网上提问之前已经在阅读了……很有趣。有什么原因吗?我的意思是,我认为你可以声明数组,或者仅仅因为向量接受泛型类?你可以声明数组。您不能向它们赋值/赋值,也不能从函数返回它们。至于原因:数组和指针的工作方式与C中的相同,也就是说,高效且不直观。啊,好的。很高兴知道。谢谢你的帮助@Rob。我想知道为什么会发生这种情况。C++11中的另一个选项是std::array,其中N是编译时已知的常量。有趣的。有什么原因吗?我的意思是,我认为你可以声明数组,或者仅仅因为向量接受泛型类?你可以声明数组。您不能向它们赋值/赋值,也不能从函数返回它们。至于原因:数组和指针的工作方式与C中的相同,也就是说,高效且不直观。啊,好的。很高兴知道。谢谢你的帮助@Rob。我想知道为什么会发生这种情况。C++11中的另一个选项是std::array,其中N是编译时已知的常量。
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;
}