Я столкнулся с проблемой в упражнении из книги Бьярна Страуструпа Программирование: принципы и практика использования C++ (2-е издание), в самом конце главы 17 раздела «Упражнения», упражнение 7:
Программа работает нормально, если не использовать delete Linearray1;.
Соответственно проблема возникает при удалении выделенной динамической памяти.
У меня нет сообщений об ошибках или предупреждений в консоли.
Однако VS Code показывает мне эту проблему в этой строке (delete linearray1).
Выделяет всю строку желтым цветом.
Подскажите, как решить проблему в данном случае. Как правильно очистить выделенную память?
#include
void fillarray(std::string& array)
{
char* linearray1 {new char};
char* line = linearray1;
std::cin >> line;
while (*line)
{
if (*line == '!')
break;
array += *line;
line++;
}
delete linearray1;
}
int main()
{
std::string linearray1;
fillarray(linearray1);
std::cout
Подробнее здесь: https://stackoverflow.com/questions/792 ... elete-in-c