Я относительно новичок в C++. Мой код считывает тысячи изображений и выполняет обработку изображений. Я хочу прочитать сырое изображение в функции, поэтому я передаю строку с ее именем в функцию, а затем создаю постоянный массив символов (до тех пор, пока мне нужен const char для fopen
). В конце функции я хочу удалить его. Но это исключение я не могу исправить:Как удалить массив const в C++
extern "C" void imreadTIFF(string location, int x, int y){
const char * c = location.c_str();
<code>
delete [] c;
}
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
Я знаю, что этот вопрос задавался много раз. Но я не нашел, как исправить свою проблему, также уже пробовал пару способов.
Спасибо, Михаил
* Не удаляйте указатель, который вы получаете из 'c_str()'. – Borgleader
Think (!): Временное расположение строки владеет памятью и все равно разрушается. (Соедините все новое с удалением, но не вводите лишнее удаление) –
btw, откуда вы знаете? «Я знаю, что этот вопрос задавали много раз». –