I keep getting a bad_any_cast exception when I retrieve data from a map.
Basically:
class DataType {
//protected:
public:
boost::any value_;
DataType(){};
template <class type>
DataType(type& value) : value_(value) {};
template <class type>
DataType(const type& value) : value_(value) {};
// Provide constant & non constant version of operator =
template <class type>
type& operator=(type &rhs) {
value_=rhs;
return rhs;
};
template <typename type>
const type& operator= (const type& rhs) {
value_=rhs;
return rhs;
};
}
map <std::string, DataType> m;
DataType dt;
dt=3.5;
m["Data 1"] = dt;
DataType dt = fieldData["Data 1"];
fValue = boost::any_cast<float>(dt.value_); //returns a bad_any_cast
What am I doing wrong?
Joe McCay