繁体   English   中英

将其转换为 std::shared_ptr

[英]Converting this to a std::shared_ptr

我在当前的代码库中遇到了一个小问题。 我正在尝试实例化 ShockRenderSystem 类的新 std::shared_ptr。 ShockRenderSystem 的构造函数采用类 ShockGame 的 std::shared_ptr 和在这种情况下不相关的 sf::VideoMode。 这是我正在尝试执行的代码(m_render_system 是 std::shared_ptr):

m_render_system = std::shared_ptr<ShockRenderSystem>(new ShockRenderSystem((static_cast<std::shared_ptr<ShockGame> >(this)), mode));

我正在尝试将this转换为 std::shared_ptr ,我可以将其传递给构造函数。 请注意,此代码位于 ShockGame 的构造函数中。

我收到错误: no matching function for call to 'SE::ShockRenderSystem::ShockRenderSystem(std::shared_ptr<SE::ShockGame>*, sf::VideoMode&)' candidate is: SE::ShockRenderSystem::ShockRenderSystem(std::shared_ptr<ShockGame>, sf::VideoMode)

感谢您的任何帮助!

派生ShockGamestd::enable_shared_from_this

对于来到此线程的任何人,请记住将您的this指针替换为shared_from_this()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM