Im имея "* Glibc обнаруженной /дом/убунт [....]: двойной бесплатно или повреждение (fasttop): 0x09851168 * *" проблема.C++ ошибка памяти ("двойная бесплатно или коррупция")
отладки я понял, линию, которая, кажется, является источником проблемы:
data[i]->~Class();
которым относится к
class Class {
public:
Class();
Class(char *name, double value);
virtual ~Class();
char *name;
double value;
private:
};
затем
Class::Class() {
}
Class::Class(char* name, double value){
this->name = new char[std::strlen(name)];
std::strcpy(this->name, name);
this->value = value;
}
Class::~Class() {
delete name;
}
сейчас, очевидно, я я делаю что-то неправильно. Кто-нибудь может мне что сказать?
Для такого рода ошибок обычно стоит работать под valgrind, чтобы получить дополнительную информацию о том, что вызывает проблему.(Но я подозреваю, что уже опубликованные ответы верны) –