【发布时间】:2025-11-27 23:15:02
【问题描述】:
所以我对编码很陌生,并且在使用 push_back 函数将用户输入存储到向量中时遇到了一些问题。谁能告诉我我做错了什么?
vector<int> user_nums;
switch(selection){
case 'P':
case 'p':
if(user_nums.empty()){
cout << "[]- list is empty" << endl;
}else{
for(auto nums: user_nums)
cout <<"[ " << nums << " ]" << endl;
}
break;
case 'A':
case 'a':
int new_num;
cout << "\nEnter a number you would like to add: ";
cin >> new_num;
user_nums.push_back(new_num);
cout << new_num << " was added" << endl;
break;
这是在一个 do while 循环中。代码执行得很好,问题是当我提示用户添加一个新数字时,该值不会存储在向量中。所以当用户选择打印数字时,列表仍然显示为空。
【问题讨论】:
-
您遇到了什么具体问题?您是否收到编译器错误?如果是这样,你能edit your question 并添加编译器输出吗?
-
另外,当您使用它时,您可以将您的代码复制并粘贴为文本吗?图片可能更难阅读。
-
请查看“How to Ask”和链接页面以及“mcve”。代码必须是在问题正文中演示问题的最小示例,而不是图像。
-
图像很难阅读,但我在上面看到了调试器选项。调试器就是炸弹。您可以逐行逐行执行程序,寻找意外情况。意外通常是错误。
-
很抱歉这是我第一次来这里我不知道。我将更新问题并复制代码。很抱歉给您带来不便