Kod: Zaznacz cały
$ g++-4.4 main.cpp engine.cpp nakladka2.cpp kurs.cpp SingleWord.cpp RegisterOfErrors.cpp -lboost_regex-mt -o konkord2.e -ggdb3 -D_GLIBCXX_DEBUG
$ ./konkord2.e
Drugi problem to nie wiem dlaczego jest to naruszenie ochrony pamięci, skoro funkcja Kurs::getSingleWords przekazuje vector, który ma 100 elementów(co widzimy po coutach w tej funkcji), to dlaczego po przypisaniu
Kod: Zaznacz cały
vector<SingleWord const*> sword_vector = courses[activ_course]->getSingleWords(from, ato);
Kawałek z engine.cpp
Kod: Zaznacz cały
void ServiceOfTasks: :p rintWordss() const {
ushort from = (*dialogWindow)("Podaj numer słowa, od którego zacząć pobieranie", 1)._ushort;
ushort ato = (*dialogWindow)("Podaj numer słowa, na którym chcesz zakońćzyć pobieranie, wpisz 0 jeśli do końca", 1)._ushort;
vector<SingleWord const*> sword_vector = courses[activ_course]->getSingleWords(from, ato);
SingleWord const **swords = new SingleWord const*[sword_vector.size()];
ushort *numbers = new ushort(sword_vector.size());
vector<ushort> numbersConnections;
for(ushort i = 0; i < sword_vector.size(); i++) {
swords[i] = sword_vector[i];
cout << i << "\t" << (long long)sword_vector[i] << endl;
numbers[i] = from + i;
for(ushort j = 0; j < swords[i]->getNumberMeanings(); j++) {
numbersConnections.push_back(i);
numbersConnections.push_back(j);
}
}
(*printWords)("Aby przejść dalej naciśnij 'ENTER'", swords, numbers, numbersConnections, numbersConnections.size()/2, -1);
}