C++ 返回数组
本帖最后由 竟无语凝噎 于 2018-12-1 17:49 编辑#include <iostream>
#include <string>
int func()
{
return {1,2,3,4,5};
}
int main()
{
int aa ;
aa = func();
// for (auto i = std::begin(aa))
// std::cout << aa <<std::endl;
return 0 ;
}
错误信息为:
5 13 D:\c++代码\未命名6.cpp 'func' declared as function returning an array
D:\c++代码\未命名6.cpp In function 'int main()':
16 12 D:\c++代码\未命名6.cpp 'func' was not declared in this scope
补充一下:
在c++ primer(第五版) 中有看到说函数不能返回数组和函数, 但在第203页又看到说 C++11新标准规定 函数可以返回花括号包围的值得列表;
故尝试了一下是否能返回数组;
我问这个问题主要是不知道是什么错误,望大神指导
#include <iostream>
#include <string>
#include <vector>
const std::vector<std::string> Fun()
{
return {"1234", "abcd", "****/****"};
}
int main()
{
std::vector<std::string> v = Fun();
for(const auto &i: v)
{
std::cout << i << std::endl;
}
return 0;
}
页:
[1]