我至少已经将头撞了两个小时,在这里我的知识可能缺少空白。基本上,我必须为复制构造函数编写函数,无论如何我都无法使它正常工作。我绝对忽略了这里的内容,因为这似乎并不那么复杂。
// Definition default constructor
Members::Members()
{
members = new map<string, set<string>>;
numOfMembers = 0;
}
// Definition copy constructor
Members::Members(const Members& mem)
{
numOfMembers = mem.numOfMembers;
}
我似乎根本无法执行该程序,它停在了复制构造函数上,但我不确定从何处去。仍然将我的头围绕着STL地图。希望得到任何帮助或解释!谢谢!
如果在任何一个构造函数中都不需要任何特殊的逻辑,则不要定义它们,默认的逻辑将自动放置在适当的位置,并且可以很好地完成工作。
我认为您不需要的比这更多:
class Members
{
public:
map<string, set<string>> members;
int numOfMembers = 0;
}
或
struct Members
{
map<string, set<string>> members;
int numOfMembers = 0;
}