首页 > 解决方案 > 为什么在 C++ 中,Visual Studio 将我的类构造函数描述为具有“2+ 重载”?

问题描述

我有一个带有构造函数的 TreeNode 类,该构造函数设置节点的值,并将左右指针设置为空。

class TreeNode {
 public:
  int val = 0;
  TreeNode *left;
  TreeNode *right;

  TreeNode(int x) {
    this->val = x;
    left = right = nullptr;
  }
};

当我将鼠标悬停在上面时,TreeNode(int x)我收到一条消息,指出:

TreeNode::TreeNode(int x)

+2 overloads

在这种情况下,“重载”是什么意思?据我了解,例如,如果我在TreeNode类中还有一个名为TreeNode().

感谢您的任何解释!

标签: c++classoopconstructor

解决方案


您的类TreeNode具有隐式自动生成的复制/移动构造函数。

这些应该是智能感知指向的过载。


推荐阅读