将指针与函数、类和堆栈一起使用
Using pointers with functions, classes, and stacks
#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 Selectn"
<< 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);
}
我正在尝试使推送项和弹出项工作。该程序创建一个数据类型为InventoryBin的堆栈...不发布库存箱你知道我做错了什么吗?我的推送项目函数有错误代码。
没有合适的构造函数可以从 StackInventoryBin * 转换为 InventoryBin
stack->push(stack);
是错误的。stack::push
查找。您应该在堆栈上推送一个项目,而不是整个堆栈。错误代码说明了一切:push()
期望一个InventoryBin
,但你传递的是整个堆栈。
如果你把整个堆栈推到自己身上,你会期望会发生什么......
相关文章:
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 算法问题:查找从堆栈中弹出的所有序列
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- 将fold表达式与std::一起用于两个元组
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- MSVC __debugbreak() 与 openGL 错误回调一起使用时不会产生调用堆栈
- 当程序与符号名称一起崩溃时,输出呼叫堆栈
- 分段堆栈可以与其他库一起自由使用吗
- 将指针与函数、类和堆栈一起使用
- 为什么C 11支撑初始化与基于堆栈的类层次结构一起起作用
- 如何在不损坏堆栈的情况下将 varargs 与__stdcall一起使用
- 使C函数指针与C++中基于C样式堆栈的调用机制一起工作