我正在尝试解决问题std::variant,std::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)