В C++, почему компилятор не позволяет изменять следующий указатель символов следующим образомдоступа символ указателя
#include <iostream>
int main()
{
char* cp = "overflow";
cp[1]='p';
return 0;
}
Выход: сбой во время выполнения.
но массив символов позволяет,
#include <iostream>
int main()
{
char cps[] = "overflow";
cp[1]='p'; // this compiles fine and output is operflow
return 0;
}
просто хочу знать, что происходит во время выполнения, и почему это происходит сбой. Спасибо.
'char cps =" overflow ";' просто неправильно, вы имели в виду 'char cps [] =" overflow ";'? – unwind
@unwind извините, так или иначе это пропало без вести. исправлено .. –