QCache and std::shared_ptr



谁能给我提示一下这个错误:

no viable conversion from 'std::shared_ptr<Foo>' to 'std::__1::shared_ptr<Foo> *'

QCache是这样的:

QCache<int, std::shared_ptr<Foo>> cache;

我试着像这样插入元素:

std::shared_ptr<Foo> foo;
cache.insert(23, foo);

谢谢你的帮助。

刚刚查看了QCache API,由于我的猜测是正确的,我将把它作为答案发布(希望得到支持!)。

insert()的签名是bool QCache::insert(const Key & key, T * object, int cost = 1)。此外,API提到了QCache从那一刻起拥有指针的事实,因此您根本不需要shared_ptr。相反,你应该插入由QCache管理的原始指针。

相关内容

  • 没有找到相关文章

最新更新