小编Æsi*_*sir的帖子

如何使用 std::visit 将 std::variant 的值转换为 std::string

我想将 的值转换std::variantstd::string,但此代码不起作用:

using AnyType = std::variant <bool, char, integer, double, std::string, std::vector <AnyType>/*, Object, Extern, InFile*/>;

struct AnyGet {
    AnyGet() {}

    std::string operator()(std::string& result, const bool& _ctx) { return _ctx ? "true" : "false"; }
    std::string operator()(std::string& result, const char& _ctx) { return std::string(1, _ctx); }
    std::string operator()(std::string& result, const integer& _ctx) { return std::to_string(_ctx); }
    std::string operator()(std::string& result, const double& _ctx) { return std::to_string(_ctx); }
    std::string operator()(std::string& result, const std::string& _ctx) { return _ctx; } …
Run Code Online (Sandbox Code Playgroud)

c++ stl std c++17

2
推荐指数
1
解决办法
1748
查看次数

标签 统计

c++ ×1

c++17 ×1

std ×1

stl ×1