小编Sha*_*rry的帖子

如何在 C++ 中从任何类型转换为 std::string

我正在使用模板创建一个 LinkedList 类,因为我想将它用于以后需要的任何类型

template <typename T> class LinkedList {}
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个将列表的所有元素添加到字符串中的函数:

std::string join(const char *seperator)
{
    std::string str;
    auto curr = this->head;
    while (curr)
    {
        str += std::to_string(curr->value);
        if (curr->next)
            str += seperator;
        curr = curr->next;
    }
    return str;
}
Run Code Online (Sandbox Code Playgroud)

它适用于我测试的类型(int、double、float...),但不适用于 std::string,该to_string()函数会生成错误

错误 C2665 'std::to_string':9 个重载中没有一个可以转换所有参数类型

我认为它不适用于其他类型。那么,您能否提供一种从任何类型转换为 std::string 的通用方法。

c++ templates tostring data-structures

0
推荐指数
1
解决办法
1510
查看次数

标签 统计

c++ ×1

data-structures ×1

templates ×1

tostring ×1