小编tom*_*tom的帖子

通过 std::visit 从 std::variant 中的可能类型返回值

我正在尝试解决问题std::variantstd::visit并且我正在尝试提出一种方法来指定我希望我的变量保存的几种类型(将进入我的std::variant),然后通过std::visit. 考虑以下示例:

#include <iostream>
#include <variant>
#include <string>

struct PrintType {
  void operator()(const int &data) {
    std::cout << "visiting int node" << std::endl;
  }
  void operator()(const double &data) {
    std::cout << "visiting double node" << std::endl;
  }
};

struct SingleOperatorOverload {
  int operator()(const int &data) {
    std::cout << "visiting int node" << std::endl;
    return data;
  }
};

struct AllTypesOperatorOverload {
  int operator()(const int &data) {
    std::cout << "visiting int node" << std::endl; …
Run Code Online (Sandbox Code Playgroud)

c++ c++17 std-variant

3
推荐指数
1
解决办法
106
查看次数

标签 统计

c++ ×1

c++17 ×1

std-variant ×1