создать boost - вариант типа для общей структуры - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь создать объект boost :: variable, который может содержать любую структуру C в дополнение к другим типам данных.
Например, это то, чего я хочу достичь для любой определяемой мной структуры:

typdef struct c
{
 int a ;
 double b;
}c;

boost::variant<??>  result;
c elem={1,2.0};
result = elem;

Есть ли способ достичь этого?

1 Ответ

0 голосов
/ 22 мая 2018

Технически вы можете достичь этого, используя boost::any в качестве одного из типов boost::variant.Но это не имеет смысла.Что вы действительно должны делать для неограниченных типов - это использовать boost::any (или std::any) напрямую.variant для ограниченного набора типов.

...