gpt4 book ai didi

c++ - 使用链表的 RNB 计算器

转载 作者:太空宇宙 更新时间:2023-11-04 12:49:26 25 4
gpt4 key购买 nike

include <iostream>
#include <string.h>

using namespace std;

#include "Stack.h"

int main()
{
Stack<float>b;
Stack <float> a(b);
char num[100];
while (true)
{

cout << "Enter: " << endl;
cin >> num;

if(strcmp(num,"Q") == 0 ||strcmp(num,"q")==0)
break;


if(strcmp(num,"*")==0)
{


float num1 = b.pop();//Error: Cannot initialize a variable of type 'float' with an rvalue of type 'void'

float num2 = b.pop();// Error: Cannot initialize a variable of type 'float' with an rvalue of type 'void'

if(num1 && num2){

a.push(num1*num2);

}

这是我程序的一部分。问题是我需要存储从列表中弹出的值,然后将它们相乘并存储回去。在这里,我试图将值存储在 float 中,以便我可以进行操作,但它给我一个错误,如上所述,我们将不胜感激。

最佳答案

如果您的 "Stack.h"类似于 <stack> :

引用 Stack.pop() :

Return value

none

所以你应该使用 Stack.top() :

Return value

A reference to the top element in the stack.

示例代码

float num = b.top(); // get top value of stack
b.pop(); // pop it, not used anymore
// do something with num here

关于c++ - 使用链表的 RNB 计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49743364/

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