今天碰到一个报错
tree.cpp: In function ‘merkle_node* createMerkleNode(std::__cxx11::string, bool)’:
tree.cpp:81:63: error: default argument given for parameter 2 of ‘merkle_node* createMerkleNode(std::__cxx11::string, bool)’ [-fpermissive]
merkle_node* createMerkleNode(string data, bool isLeaf = false)
^
tree.cpp:20:14: note: previous specification in ‘merkle_node* createMerkleNode(std::__cxx11::string, bool)’ here
merkle_node* createMerkleNode(string data, bool isLeaf = false);
函数原型如下
merkle_node* createMerkleNode(string data, bool isLeaf = false);
函数实现如下
merkle_node* createMerkleNode(string data, bool isLeaf = false)
{
...
}
问题所在
c++可以在类的声明中,也可以在函数定义中声明缺省参数,但不能既在类声明中又在函数定义中同时声明缺省参数。
因此,将定义或声明中的任一个缺省参数删除即可。