boost::variant recursive trouble
问题 is there any way to make this work? I hope you'll get the idea, I'm trying to create a list by means of recursive pairs #include <boost/variant.hpp> #include <utility> struct nil {}; typedef boost::make_recursive_variant<nil, std::pair<int, boost::recursive_variant_ >>::type list_t; int main() { list_t list = { 1, (list_t){ 2, (list_t){ 3, nil() } } }; return 0; } 回答1: No. The point of a boost::variant is that it has a fixed size, and does not do dynamic allocation. In this way it's similar