c++ - 尽管有打印功能,我的 Vector 没有打印
问题描述
我正在开发一个程序,该程序将使用对象的特定参数建立一个组合餐类。我将这些存储在向量中。矢量似乎运行正常,但是当我使用打印功能时,它没有打印任何东西。我需要帮助才能使打印功能正常运行。
我尝试使用 .at() 而不是 getEntree() 但仍然没有收到任何输出。我在这里阅读了几篇关于从矢量打印的文章,但仍然无法从我的程序中获得任何输出。
#include <iostream>
#include <string>
#include <vector>
#include "Combo.h"
void fillOrder(vector<Combo>);
void printOrder(vector<Combo>);
int main()
{
vector<Combo> myOrder;
fillOrder(myOrder);
printOrder(myOrder);
}
vector<Combo> newMyOrder;
void fillOrder(vector<Combo> newMyOrder) {
string entree;
string side;
string sideSize;
string drink;
string drinkSize;
cout << "How many meals would you like to order? ";
int orderSize;
cin >> orderSize;
for (int i=0; i < orderSize; i++) {
cout << "Would you like a Hamburger, Cheeseburger, or chicken?" << endl;
cin >> entree;
cout << "Would you like fries, tots, or a salad for your side?" << endl;
cin >> side;
cout << "What size would you like your side?" << endl;
cin >> sideSize;
cout << "What would you like to drink?" << endl;
cin >> drink;
cout << "What size drink would you like?" << endl;
cin >> drinkSize;
Combo newMeal(entree, side, sideSize, drink, drinkSize);
newMyOrder.push_back(newMeal);
}
}
void printOrder(vector<Combo>newMyCombo) {
unsigned int size = newMyCombo.size();
for (unsigned int i = 0; i < size; i++) {
cout << "Your Entree is : " << newMyCombo[i].getEntree()<<endl;
cout << "Your side is : " << newMyCombo[i].getSide()<<endl;
}
}
我希望这个程序接受订单然后打印订单摘要,但我根本没有得到任何输出。
解决方案
通过引用传递
尝试:
void fillOrder(vector<Combo>&);
void fillOrder(vector<Combo>& newMyOrder)
如果您希望打印功能不适用于副本(因为它只是打印订单),请void printOrder(const vector<Combo>&);
改用。const
限定符会给你一个编译保证,一个不应该修改容器的函数实际上并没有这样做。通过引用将其传递给 print 将确保您不会浪费时间和空间来复制整个内容。
推荐阅读
- database - 在 Google Cloud Spanner 中定义具有不同外键的交错表
- polymorphism - JOOQ:如何以多态方式最好地访问列?
- c# - 来自 Web API 的响应:无法加载资源:ERR_CONNECTION_CLOSED
- elasticsearch - Elasticsearch 解析不同格式的日期字段
- hyperledger - Hyperledger 锯齿 - 请求失败,状态码为 429
- flask - 一段时间后,我的 Flask 应用程序一直在 Google Cloud Compute Engine 上停止
- docker - 将构建输出从 Docker 容器写入主机
- html - 删除数据并更改按钮单击 Angular 8 上的标志
- transform - 标签编码器结果类的反向函数
- mysql - mysql中的条件语句