我可以内联来回转换.
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).