どうすれば修正できますか?主な機能では、新しいノードを作成しようとすると文字列データがありますが、それはできません。エラーメッセージは、[エラー]は 'const std :: basic_string'を代入で 'int'に変換できません。私はどうすればいいのですか?C++エラー: 'const std :: basic_string <char>'を代入で 'int'に変換できません
template <typename value_type>
class node : public element
public :
value_type data;
node();
node (const value_type& T);
~node();
};
template <typename value_type>
node<value_type> :: node(const value_type& T)
{
type = 0;
intd= 0;
stringd = "";
if(typeid(T)==typeid(int))
{
type= 0;intd = T;
}
else if(typeid(T)==typeid(string))
{
type = 3;stringd = T;
}
this->left = NULL;
this->right = NULL;
this->data = T;
}
int main()
{
string s1 = "123";
node *n1 = new node<string>(s1);
return 0;
}
を、 'そのためtypeid'をしてください使用しないでください。 ... 'type = 0; intd = T;'は条件が 'false'であってもまだコンパイルする必要があります。 – LogicStuff