对于下面的代码,我试图将打印的节点存储在变量s
内的完整表达式的字符串中。
string ExprTree::prefixOrder(const ExprTree & t){
string s;
if (t.root != NULL){
s.append(t.root->toString());
prefixOrder(t.root->getLeftChild());
prefixOrder(t.root->getRightChild());
}
std::cout << s << std::endl;
return s;
}
对于算术表达式,即5 + 5
我得到了输出:
5
5
+
但是,我希望将它存储在字符串s
中的完整字符串中,如"+ 5 5"
,但是追加将输出存储在不同的元素中而不是单个字符串中,所以我想知道如何实现这一点结果?我尝试使用stringstream
并遇到了同样的问题。