const之前的意外限定符Id

时间:2014-10-17 01:40:08

标签: c++ class constructor const copy-constructor

在我的.h我的课程中有一个结构:

class BST
{
public:
    struct BinaryNode
    {
        //variables     
        BinaryNode& operator=(const BinaryNode node) ;

        BinaryNode(SequenceMap i);
        ~BinaryNode();

        BinaryNode(const BinaryNode &otherNode);

    };
};

在我的.cpp中,我实现了我的复制构造函数:

BST::BinaryNode(const BST::BinaryNode &otherNode)
{
    item = otherNode.item;  
    if(otherNode.left != nullptr)
        left = otherNode.left;
    else
        left = nullptr;
    if(otherNode.right != nullptr)
        right = otherNode.right;
    else
        right = nullptr;
}

当它编译时,在BST::BinaryNode(const BST::BinaryNode &otherNode)上我在const之前有一个意外的限定符id。

1 个答案:

答案 0 :(得分:2)

复制构造函数应编写如下:

BST::BinaryNode::BinaryNode(const BST::BinaryNode &otherNode)
             //^^^^^^^^^^^^^
{
    //...
}

左边的BST::BinaryNode是班级名称;右边的BinaryNode是功能名称。