我尝试存储对std::vector
包含的引用std::variant
。我可以const std::variant<T>&
为 a 的元素创建 a vector
,但我很难存储对整个向量的引用。我想答案与通过引用存储的这个帖子 c++ 变体类成员有关,但我无法将其应用于我的情况。
#include <vector>
#include <variant>
using MType = std::variant<int, double>;
int main()
{
std::vector<int> intVec{ 1,2,3,4 };
std::vector<double> dlVec{ 1.1,2.2,3.3,4.4 };
const MType& refVar = intVec[0];
// const std::vector<MType>& refVec = intVec; // compiler error: not suitable construction
}