【发布时间】:2018-09-20 12:07:01
【问题描述】:
是否可以将 std::vector 作为自动返回? 例如:
auto retVec() {
std::vector<int> vec_l;
l.push_back(1);
l.push_back(2);
return vec_l;
}
...
auto ret_vec = retVec();
for (auto& it : ret_vec) {
}
当我写这样的东西时,我得到一个错误:
- 错误:在扣除
auto之前使用auto retVec()--->auto ret_vec = retVec(**)**; - 错误:无法从
ret_vec推断出auto&&--->for (auto it : **ret_vec**) {
我该如何写这个?
更新: 对不起。我在课堂上使用这个 retVec 作为方法,但它不起作用。当我在课堂上将它用作函数时 - 一切正常。我在提出问题时犯了错误。
【问题讨论】:
-
你是怎么编译这个的?
-
为了后代,您可以添加编译器版本和您运行的命令作为问题的一部分进行编译吗?
-
这是一个实例,当添加 all 标签对您的问题有害。这根本不是有效的 C++11。
-
-1 除了doron和StoryTeller写的,请加complete relevant source code。