Ошибка сегментации в конструкторе - PullRequest
1 голос
/ 19 января 2012

В моем 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 (а также изменением нотации на.-> где уместно).Я дошел до того, что он запустил первую строку конструктора (members.push_back (member1)), но на следующей строке произошел сбой (даже после того, как я изменил на -> нотацию).

1 Ответ

1 голос
/ 20 января 2012

rosterExcellent[0] либо NULL, либо неправильно инициализировано.

...