c++ 如何隐藏私有重载函数从Visual Studio IntelliSence提示?

brtdzjyr  于 2023-05-02  发布在  其他
关注(0)|答案(1)|浏览(83)

我有这个类:

class BST
{
public:
   void insert(int val) { insert(node, val); }
private:
   void insert(std::shared_ptr<Node> node, int i);
   std::shared_ptr<Node> node = nullptr;
};

这里我有一个为类用户提供的公共函数***insert***。和私有重载版本。当我想从驱动程序代码调用这个函数时,在IntelliSence提示中,我有这个函数的两个重载。

那么,是否有一种方法可以对用户隐藏私有功能?

kmbjn2e3

kmbjn2e31#

您可以使用宏__INTELLISENSE__来隐藏IntelliSense建议中的类成员。

class BST {
 public:
  void insert(int val) { insert(node, val); }

 private:
#ifndef __INTELLISENSE__ 
  void insert(std::shared_ptr<Node> node, int i);
#endif

  std::shared_ptr<Node> node = nullptr;
};

提示在这里给出:Troubleshooting Tips for IntelliSense Slowness
不幸的是,这不是一个足够好的解决方案。它将隐藏建议,即使在正确的访问范围,在自己的类方法。

相关问题