C++ 二进制搜索树,无法从Int转换为字符串
我正在尝试编写一个二叉树代码,目前正在尝试使用一个“inorder”函数,该函数接收包含整数的二叉树,并以数字顺序将二叉树输出为字符串。但是,当我尝试将整数连接到字符串末尾时,我收到错误消息“错误C2440:“类型转换”:无法从“int”转换为“std::string”。 该函数的代码如下所示:C++ 二进制搜索树,无法从Int转换为字符串,c++,string,C++,String,我正在尝试编写一个二叉树代码,目前正在尝试使用一个“inorder”函数,该函数接收包含整数的二叉树,并以数字顺序将二叉树输出为字符串。但是,当我尝试将整数连接到字符串末尾时,我收到错误消息“错误C2440:“类型转换”:无法从“int”转换为“std::string”。 该函数的代码如下所示: void _inorder(node *tree, string &str) { if (tree != NULL) { _inor
void _inorder(node *tree, string &str)
{
if (tree != NULL)
{
_inorder(tree->left, str);
str = str + (string)(tree->data);
_inorder(tree->right, str);
}
cout << str << endl;
}
void\u顺序(节点*树、字符串和str)
{
如果(树!=NULL)
{
_顺序(树->左,str);
str=str+(字符串)(树->数据);
_顺序(树->右,str);
}
CUT< P>使用<代码> STD::tostring string < /Cuth>(C++ 11)将<代码> int >代码>转换为<代码>字符串 > /P>
str = str + std::to_string(tree->data);
< >使用<代码> STD::ToString (C++ 11)将<代码> INT/COM>转换为<代码>字符串 > /P>
str = str + std::to_string(tree->data);
使用此功能
std::to_string(int);
这将解决错误。使用此功能
std::to_string(int);
这应该可以解决错误。在c++11之前,您可以执行以下操作:
ostringstream os;
os << tree->data;
str += os.str();
ostringstreamos;
操作系统数据;
str+=os.str();
在c++11之前,您可以执行以下操作:
ostringstream os;
os << tree->data;
str += os.str();
ostringstreamos;
操作系统数据;
str+=os.str();
注意:这是一个C++11功能,因此可能不适用于所有地方。注意:这是一个C++11功能,因此可能不适用于所有地方。无关:使用函数访问节点,以便您的_inoder函数可以处理其他元素或执行其他操作。当您收到错误消息时,您至少应该阅读它以查看它引用的行to(并在此处提及)。Thank.unrelated:使用函数visit_节点,以便您的_inorder函数可以与其他元素一起工作或执行其他操作。当您收到错误消息时,您至少应该阅读它以查看它所指的行(并在此处提及)。谢谢。