在我的TeamMatcher.C中,我有以下代码:
void TeamMatcher::makeTeamSet(){
//Segmentation fault here:
Team tempTeam(rosterExcellent[0]);
//...more code in this method below this point, but it has all been commented out.
rosterExcellent是一个载体
以下是Team(Student member1)的构造函数:
Team::Team (Student member1)
{
// members is a vector<Student> instance variable in Team
// commonHrsAvailable is a vector<int> in Team
// members.push_back(member1);
//commonHrsAvailable = member1.hrsAvailable;
//numberOfCommonHrsAvailable = commonHrsAvailable.size();
}
请注意所有行都已注释掉,我仍然会遇到分段错误。 这是要执行的最后一段代码。
现在,我搞乱了将成员更改为vector,将此构造函数的参数更改为Student *,将rosterExcellent更改为vector(以及将。符号更改为 - &gt;在适当的位置)。我得到它将运行构造函数的第一行(members.push_back(member1)),但它在下一行上出现故障(即使在我更改为 - &gt;表示法之后)。
答案 0 :(得分:1)
rosterExcellent[0]
是NULL
或未正确初始化。