首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向矢量C++追加时出现问题

向矢量C++追加时出现问题
EN

Stack Overflow用户
提问于 2021-07-13 13:34:12
回答 2查看 97关注 0票数 0

我在向C++中的向量追加时遇到了一些问题/错误。我的代码是:

代码语言:javascript
复制
std::vector<int> maps(const std::vector<int> & values) {
  
  for(int i = 0; i < std::vector.size(); i++){
    values.pushback(maps[i] * 2);
  }
  return values;
}

我的目标是创建一个包含一些数字的基列表,然后创建一个包含这些数字加倍的新列表。

我收到一个错误,不幸的是,它太长了,不能复制到这里。但我会给你详细的信息:

代码语言:javascript
复制
Exit Code: 254
STDERR

Stack dump:
0.  Program arguments: /usr/lib/llvm-8/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -discard-value-names -main-file-(this is where it gets a bit long)

完整的代码是(我猜,因为这是一个难题)

代码语言:javascript
复制
#include <vector>

std::vector<int> maps(const std::vector<int> & values){
  for(int i = 0; i < std::vector.size(); i++){
    values.push_back(maps[i] * 2);
  }
  return values;
}
int main(){
  return 0;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-13 14:14:42

根据你的问题。这就是你想要的。

代码语言:javascript
复制
std::vector<int> maps_double(const std::vector<int> & values) {
   std::vector<int> doubles;
   for(int i = 0; i < values.size(); i++){
      doubles.push_back(values[i] * 2);
     }
   return doubles;
}

但是在您的代码中,您正在做一些错误的事情。

代码语言:javascript
复制
for(int i = 0; i < std::vector.size(); i++)

你要在std::vector上调用size()?不行。你需要有一个对象来调用它的大小。您可能希望这样调用:

代码语言:javascript
复制
for(int i = 0; i < values.size(); i++)

然后你会这样做:

代码语言:javascript
复制
values.pushback(maps[i] * 2);

您正在声明maps函数。然后使用下标来访问i索引。这是错误的。您正在将值推送到values,但是您需要一个新的向量。

票数 3
EN

Stack Overflow用户

发布于 2021-07-13 22:35:11

除了foragerDev所做的简单地纠正语法之外,

代码语言:javascript
复制
for(int i = 0; i < values.size(); i++){
      doubles.push_back(values[i] * 2);
     }

真的应该使用:

代码语言:javascript
复制
for (const v : values)
    doubles.push_back (v*2);

当你真的想遍历集合中的所有元素时,不要使用老式的计数循环--有一种更直接的方法可以做到这一点。

但是您的函数(由foragerDev重写)只是一个标准算法:transform (如果您有C++20,则为ranges::transform )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68356963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档