重现错误的简化代码如下: double d= 1.0;
std::variant<std::monostate, double, double> v(d); 错误信息如下: no suitable constructorexists to convert from "double" to "std::__1::variant<std::__1::monostate, std::__1::remove_cv_t<std即 distinct<std::variant<std::monost
我的std::variant可以是空的(std::monostate),包含int、std::string或bool。include <string>#include <iostream>
{
using var = std::variant<std::monostate编辑2通过将std::monostate声明为默认参数/类型,甚至在没有任何参数的情况下调用make_var时也能工作。#include <st
我希望std::monostate作为第一种状态变量类型,将其用作“不更改状态”值。因此定义为:第一种类型是std::monostate,第二种类型是fsm的初始状态。state.emplace<1>();};
struct Running{};
using State = std::variant<std::monostate