竟无语凝噎 发表于 2018-12-1 17:46:28

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新标准规定 函数可以返回花括号包围的值得列表;
故尝试了一下是否能返回数组;
我问这个问题主要是不知道是什么错误,望大神指导

人造人 发表于 2018-12-1 18:09:59

#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]
查看完整版本: C++ 返回数组