"нарушение прав доступа" вы имеете в виду access violtation?
лайфхак - если настроить IDE на английском, то ошибки легче гуглятся
Retr0Str::Retr0Str() { length = 1; str = new char[0](); } ну вот это уже сомнительно выглядит, \0 в строке нет
Сделал так, теперь у меня heap corruption
там [1] а не [0]
Теперь throw bad alloc
А вы хотите починить это или программировать нормально научиться?
Программировать нормально научиться
Тогда начните со следующего. Выносите всю работу с буфером в отдельный класс (можете назвать его std::unique_ptr<char[]>)
Умный поинтр написать?
Да, или использовать стандартный. То, что делает new/delete должно максимально изолироваться.
Я думал raii мне в этом поможет
Да, у вас как раз нет RAII для буфера в строке
Обсуждают сегодня