gpt4 book ai didi

C++ 缺少输入(需要打印出 test1 的值)

转载 作者:行者123 更新时间:2023-11-28 06:11:38 26 4
gpt4 key购买 nike

希望打印出 test1 的值。我就想问问为什么test1的值没有打印出来,只打印出“PRINT START”和“PRINT END”。非常感谢任何帮助或想法。

#include <vector>
#include <iostream>

using namespace std;

void print_out(vector<int> numbers)
{

cout << "------------- PRINT START -------------" << endl;

for( auto i: numbers )
cout << i << endl;

cout << "------------- PRINT END -------------" << endl;
}

vector<int> beautify(vector<string> numbers)
{

vector<int> result;
return result;
}

int main()
{

vector<string> test1;
test1.push_back("3167389213");
test1.push_back("32989741893");
test1.push_back("2138");

print_out(beautify(test1));
return 0;
}

更新

谢谢,所以我已经应用了 beautify 中的代码,但它仍然无法输出 test1 值。

vector<int> beautify(vector<string> numbers)
{
vector<int> result;
for (auto & i : numbers)
result.push_back(std::stoi(i));
return result;
}

最佳答案

好的,这是你的程序流程:

  • 你创建一个空 vector
  • 用包含数字的字符串填充它
  • 您使用参数 beautify(test1) 调用了 print_out 函数,因此我们需要查看 beautify() 返回的内容。
  • beautify() 返回一个空 vector (int)
  • print_out() 打印空 vector 中的所有元素,所以没有。

这段代码是等价的,也许可以说明一些问题:

int main()
{

vector<string> test1;
test1.push_back("3167389213");
test1.push_back("32989741893");
test1.push_back("2138");

vector<int> newVector = beautify(test1);
print_out(newVector); //here newVector is empty
return 0;
}

您可能想要做的是在您的 beautify() 函数中,将字符串 vector 转换为 int vector 。参见 How do I convert vector of strings into vector of integers in C++?

关于C++ 缺少输入(需要打印出 test1 的值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com