Во-первых, вам нужно проверить возвращаемое значение и оценить его.Если это -1, то выведите сообщение об ошибке, например, с помощью perror
или отформатировав сообщение об ошибке и используя strerror(errno)
.
. Но у вас также есть серьезная ошибка, прежде чем вы даже попытаетесь вызватьundelete
:
char a="/Users/Leo/Desktop/test/a.out";
const char* pa=&a;
Сначала будет присвоено значение (указатель на вашу строку) для char
, однобайтового значения.Компилятор даже предупреждает об этом с предупреждением : инициализация делает целое число из указателя без приведения. В моем случае a
тогда имел значение D
/ 0x44, но это могло быть что угодно.Затем вы сохраняете указатель на этот единственный байт в pa
.Вместо этого вы хотите:
const char* pa="/Users/Leo/Desktop/test/a.out";