none
请问,VC++中使用智能指针,不能智能提示其内部方法 get()。这是为什么啊? RRS feed

  • 问题

  • 其他的类型还没有发现这样的问题哦

    我说的get()就是

    https://zh.cppreference.com/w/cpp/memory/shared_ptr 中的成员类型——观察器,中的

    返回存储的指针
    (公开成员函数)

    2019年9月25日 1:41

全部回复

  • Hi 凤凰与梧桐,

    欢迎来到MSDN论坛。

    我有尝试在本地重现您的问题。您可以在VS选中“get”指针,然后按F12定位到它定义的地方,可以看到“get”指针时“protected”,VS IDE识别不了被保护的指针,且其他的可识别的类型都是public的。

    希望可以对您有帮助。

    Cheers,

    Dylan


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com


    2019年9月25日 9:38
  • 你好,首先感谢你的回复,你的回复让我大致了解了这个问题、

    不过,你的回复还有一个点,我不太理解。

    可以看到“get”指针时【是】“protected”

    按照标准 get() 应该是 public 的,

    如果仅在 VC++中被定义为 protected ,那么“public”  变成 “protected” 这是一种“设计失误”吗?

    如果是的话,会否在后续更新中解决这个问题。

    如果不是,那么不对“protected”函数提供提示,会在后续更新中解决吗?

    毕竟,只要可以被调用,那么就应该被提示不是吗?不论它是 protectedprivate、还是public 

    2019年10月11日 1:33