c++ - 我的代码中出现此错误,提示无效使用无效表达式
问题描述
在函数 vector in_to_post(vector infix) (vector=(1 + 2) * 3 ^ 4 )被转换为形式为 (Postfix: 1 2 + 3 4 ^ *) 的输出向量,我得到说明无效使用无效表达式的错误。我已经评论了我收到此错误的行。
char get_optr(Token t) {
// your code here
return t.optr;
}
vector<Token> in_to_post(vector<Token> infix)
{
vector<Token> output;
// your code here
stack<Token>b;
for(int i=0;i<infix.size();i++)
{
if(is_opnd(infix[i]))
{
output.push_back (infix[i]);
}
else if(get_optr(infix[i])=='(')
{
b.push(infix[i]);
}
else if(get_optr(infix[i])==')')
{
while(b.empty()==false)
{
//char i=get_optr(b.pop());
if(get_optr(b.pop())=='(') // I am getting error here
{
break;
}
else
{
output.push_back(b.pop()); //error
}
}
}
else if(is_opnd(infix[i])==false)
{
// char i=infix[i];
//char j=b.top();
if((priority(infix[i])>priority(b.top()))||get_optr(infix[i])=='('||get_optr(infix[i])==')')
{
b.push(infix[i]);
}
}
}
while(b.empty()==false)
{
output.push_back(b.pop()); //error
}
return output;
}
解决方案
推荐阅读
- php - 将行写入 .csv 或 .txt 文件 php 的限制
- python - python中是否有可以从当前日期/给定日期生成日期4周的函数?
- android - OnActivityResult Kotlin
- sql - SQL 选择列值作为自定义名称
- git - 如何在 git 存储库中创建 .gitignore 文件并在此 .gitignore 文件中添加文件/文件夹的名称,以便 git 可能不会跟踪这些文件
- python - Pretty print a dictionary matrix in Python
- javascript - 如何让本地函数读取其他单独的本地函数?
- azure - 在 azure 上创建 ejbca docker 容器时出现容器错误“无法通过 uid 找到用户”
- android - Android Studio CMake 链接库失败
- microsoft-graph-api - Microsoft Graph API 筛选器不提供合规性标记字段