大佬教程收集整理的这篇文章主要介绍了c – 提升任何使用率,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
ptr_map<String,any> someMap;
我的类继承了boost :: noncopyable.
someMap.insert("Test",new MyClass<SomeTemplate>());
错误是:错误:没有用于调用’boost :: ptr_map的匹配函数.
UPD:
我更喜欢做一些包装,不要使用boost :: any.所以:
class IWrapper { }; class MyClass : public IWrapper { }; ptr_map<String,IWrapper> someMap; someMap.insert("Test",new MyClass<SomeTemplate>());
为什么它不起作用(同样的错误)?我可以将继承的类传递给父接口.怎么了?
我已经看到了不允许共同基类的正当理由.在这种情况下,boost :: variant通常服务器会更好,因为仍有方法统一处理每个项目(访问者).编译时间多态性.
我从未见过对boost :: any的合法用法.我不是说没有一个,但它是如此罕见,我从来没有遇到过它.
那说,试试这个.
std::map<std::string,boost::any> someMap; boost::any insanity = new MyClass<SomeTemplate>; someMap.insert("Test",insanity);
要么
boost::ptr_map<std::string,boost::any> someMap; boost::any* ive_lost_it = new boost::any( new MyClass<SomeTemplate> ); someMap.insert("Test",ive_lost_it );
以上是大佬教程为你收集整理的c – 提升任何使用率全部内容,希望文章能够帮你解决c – 提升任何使用率所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。