【发布时间】:2014-03-14 13:03:56
【问题描述】:
#include "InventoryBin.h"
#include "Stack.h"
#include <string>
#include <iostream>
using namespace std;
// Constants for the menu choices
const int ENTER_ITEM = 1,
REMOVE_ITEM = 2,
QUIT = 3;
int choice; // To hold menu choice
// Function prototypes
void popItem(Stack<InventoryBin> *);
void pushItem(Stack<InventoryBin> *);
int menu();
void main()
{
// Create a stack object
Stack<InventoryBin> stack;
// Use a loop to ask user for input
do
{
menu();
if (choice != QUIT)
{
switch (choice)
{
case ENTER_ITEM:
pushItem(&stack);
break;
case REMOVE_ITEM:
popItem(&stack);
}
}
} while (choice != QUIT);
}
int menu()
{
// Display menu
cout << "Please Select\n"
<< ENTER_ITEM << " - Enter an item.\n"
<< REMOVE_ITEM << " - Remove an item.\n"
<< QUIT << " - Quit.\n";
cin >> choice;
// Validate
while (choice < ENTER_ITEM || choice > QUIT)
{
cout << "Enter a valid choice: ";
cin >> choice;
}
return choice;
}
void pushItem(Stack<InventoryBin> *stack)
{
cout << "Enter serial number: ";
cin >> stack;
stack->push(stack);
cin.ignore();
cout << "Enter manufacture date: ";
getline(cin, stack);
stack->push(stack);
cout << "Enter lot number: ";
cin >> stack;
stack->push(stack);
}
我正在尝试使 pushItem 和 popItem 工作。该程序创建了一个数据类型为 InventoryBin 的堆栈...不发布 InventoryBin 你知道我做错了什么吗?我的 pushItem 函数有错误代码。
没有合适的构造函数可以将 StackInventoryBin * 转换为 InventoryBin
【问题讨论】:
-
有些人对这种轻率的回应感到厌烦,但是:发布您的代码,我们会提供帮助。此外,另一方面,如果您显然已经努力自己定位问题,而不是必须进行完整的代码审查,人们将更有可能提供帮助。
标签: c++ function templates pointers stack