Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我的代码必须通过单元测试才能打印出二进制搜索树。但它是模板化的<;T>;。单元测试同时通过字符串和double/long_C++_String_Templates_Casting - Fatal编程技术网

C++ 我的代码必须通过单元测试才能打印出二进制搜索树。但它是模板化的<;T>;。单元测试同时通过字符串和double/long

C++ 我的代码必须通过单元测试才能打印出二进制搜索树。但它是模板化的<;T>;。单元测试同时通过字符串和double/long,c++,string,templates,casting,C++,String,Templates,Casting,我的BST必须能够从其节点->数据打印出数字和字符串 virtual string to_string() const { // printing out extra title string answer; answer.append("# Tree rooted at "); answer.append(std::to_string(_root->_data)); answer.append("\n"); answer.append

我的BST必须能够从其节点->数据打印出数字和字符串

  virtual string to_string() const { // printing out extra title
     string answer;
     answer.append("# Tree rooted at ");
     answer.append(std::to_string(_root->_data));
     answer.append("\n");
     answer.append(_to_string(_root, answer));
     answer.append("# End of Tree");
     return answer;
  }

建议的路径是什么,这样我的to_string方法既可以在其为整数/双精度/长且被强制转换到我的字符串中时追加数据,也可以在其已为字符串时追加数据,否则如果T类型为字符串,则会出现错误。

stringstream
。尽管可以使用
stringstream
,在我看来,很明显,本编程作业的目的是学习如何使用specialization、SFINAE或
if constexpr
来完成这项工作。在这种情况下,放弃并使用
stringstream
可能会导致成绩不及格。因此,“推荐路径”是在获得本作业之前,按照您刚刚介绍的学习材料中要求您做的任何事情。
stringstream
。虽然您当然可以使用
stringstream
,但对我来说,本编程作业的目的显然是学习如何使用专业化、SFINAE、,或
如果constexpr
执行此操作。在这种情况下,放弃并使用
stringstream
可能会导致成绩不及格。所以,“推荐的方法”是,在完成这项作业之前,按照你刚刚学习过的内容去做。