
13 Dec
2010
13 Dec
'10
4:02 p.m.
Hi all, I have a class, call it "Property", containing a value, which can be of many different types, like int, string, bool, but also a pointer to binary data. So I decided to use boost::variant. The problem is that when I assign a pointer to the variant, it is implicitly casted to a bool. So I do not get the pointer out of the variant again. Is boost::variant not suitable for my needs or is there a recommended workaround? I will post some code to make my problem more clear. boost::variant<void*, bool, int, std::string> value; void* p; value = p; bool b = boost::get<bool>(value); //OK void* p2 = boost::get<void*>(value); //Error Thanks for your help Philipp