firstChar = infix[i];
firstChar是一个字符,而infix是一个字符串 vector 。试图将vector [i]中的char存储在firstChar中,但是效果不是很好。

如果您想帮助解决这些问题,还有两个其他错误。

错误:无法将“firstChar”从“char”转换为“std::__ cxx11::string”
precedenceHolder = precedence(firstChar);

在此示例中,我尝试将firstChar静态转换为字符串,但这仅引起了很多其他错误。

错误:无法将's.LinkedStack::peek,char。()'从'char'转换为'std::__ cxx11::string'
while (!s.isEmpty() && s.peek() != '(' && precedenceHolder <= precedence(s.peek()))

谢谢你的帮助。我期望轰炸这个项目。

编辑:变量名称如下
LinkedStack<char> s;
int i = 0;
int k = 0;
char firstChar;
vector<string> postFix;
int precedenceHolder;

最佳答案

在命令中

firstChar = infix[i];
firstChar类型为char,而infix[i]是第i个string。您不能将string分配给char,但是可以从char检索第一个string:
firstChar = infix[i][0];

10-04 14:30