在我的.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。
答案 0 :(得分:2)
复制构造函数应编写如下:
BST::BinaryNode::BinaryNode(const BST::BinaryNode &otherNode)
//^^^^^^^^^^^^^
{
//...
}
左边的BST::BinaryNode
是班级名称;右边的BinaryNode
是功能名称。