【发布时间】:2021-09-22 04:28:39
【问题描述】:
我在附加到 C++ 中的向量时遇到了一些麻烦/错误。我的代码是:
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;
}
我的目标是创建一个包含一些数字的基本列表,然后创建一个包含这些数字加倍的新列表。
我遇到了一个错误,很遗憾,它太长了,无法在此处复制。但我会给你详细信息:
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)
完整的代码是(我猜,因为这是一个谜题)
#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;
}
【问题讨论】:
-
for(int i = 0; i < std::vector.size(); i++){->for(int i = 0; i < maps.size(); i++){混淆了一个名为maps的函数以及某个地方的变量。至少我认为你是这样。具有更多上下文的minimal reproducible example 将有助于缩小范围。无论如何std::vector.size()是不正确的。 -
pushback不存在。你的意思是push_back?也没有maps变量,只有values -
很抱歉浪费了您的时间,我正在努力学习向量,所以对我来说有点难。感谢您的帮助@RetiredNinja
-
您发布的代码的错误消息并不长:godbolt.org/z/ePT4c8Pbx。虽然我不确定这是否是您正在谈论的错误消息。请务必在问题中包含minimal reproducible example 和错误消息
-
如果你想创建一个新列表,你不应该将值推送到作为函数参数获得的列表中,不是吗?更不用说你不能这样做,因为
values是const(你不能修改它)。我认为您可以使用good C++ book 来学习 C++ 的基础知识。编程谜题很有趣,但你不能从中学习 C++。
标签: c++ arrays dictionary vector