小编DCu*_*rro的帖子

对于方法调用,没有可行的转换std :: weak_ptr到std :: shared_ptr

我可以内联来回转换.

std::shared_ptr<sfg::Notebook> mNotebook = ...;
std::weak_ptr<sfg::Notebook> weakNotebook(mNotebook);
std::shared_ptr<sfg::Notebook> strongNotebook(weakNotebook);
Run Code Online (Sandbox Code Playgroud)

当我尝试将其传递给方法时,我收到错误:

"No viable conversion between std::weak_ptr<sfg::Notebook> to std::shared_ptr<sfg::Notebook>."
Run Code Online (Sandbox Code Playgroud)

我正常调用方法,方法如下:

onNotebookLeftClick(weakNotebook);

void onNotebookLeftClick(std::shared_ptr<sfg::Notebook> notebook) {
}
Run Code Online (Sandbox Code Playgroud)

我正在使用OS X(10.10.2).

c++ stl shared-ptr weak-ptr c++11

2
推荐指数
1
解决办法
817
查看次数

标签 统计

c++ ×1

c++11 ×1

shared-ptr ×1

stl ×1

weak-ptr ×1