我有两个向量
std::vector<std::string> outputStack, operatorStack;
在某些时候,我需要从一个堆栈中弹出一些元素并将其推入另一个堆栈。
while(operatorStack.back().compare(L_BRACKET)) {
outputStack.push_back(operatorStack.pop_back());
}
但是,eclipse 会抛出一个错误,无效的参数。但是当我输入强制转换输入时工作正常。
outputStack.push_back((std::string)operatorStack.pop_back());
现在,为什么需要这种类型转换?我正在阅读(主要是在 C++ Primer 中)根据 C++11 需要避免类型转换。