构造函数中的分段错误

Segmentation Fault in constructor

本文关键字:错误 分段 构造函数      更新时间:2023-10-16

在我的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是一种矢量

以下是团队(学生成员1)的构造函数:

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(以及在适当的时候把.符号改成->)。我让它运行构造函数的第一行(members.push_back(member1)),但它在下一行出现了错误(即使在我改为->表示法之后)。

rosterExcellent[0]NULL或未正确初始化。