如何将我自己的类对象从 boost.xml 插入到 ptr_map 中。对象是模板化的,所以我不能在地图中使用一些静态类型名。所以我做了:
ptr_map<string, any> someMap;
我的班级继承了boost::noncopyable。
someMap.insert("Test", new MyClass<SomeTemplate>());
错误是:错误:no matching function for call to ‘boost::ptr_map
。
UPD:我更喜欢做一些包装,不要使用 boost::any。所以:
class IWrapper { };
class MyClass : public IWrapper { };
ptr_map<string, IWrapper> someMap;
someMap.insert("Test", new MyClass<SomeTemplate>());
为什么它不起作用(同样的错误)?我可以将继承的类传递给父接口。怎么了?