Автор Sooqua задал вопрос в разделе Другие языки и технологии
[C++] Нарушение прав доступа при записи \"0x00cb783d\". и получил лучший ответ
Ответ от Капитан Гугл[гуру]
char* string = new char[6];
string = "Hello?";//string теперь показывает на константную строку "hello?", а выделенную память потеряли
string[5]='!';//константу меняем? нехорошо, батенька...
Капитан Гугл
Искусственный Интеллект
(144737)
Ну, например, сразу инициализировать массив:
char string[7]="Hello?";//тут на самом деле 7 символов
Или копировать:
char* string=new char[7];
strcpy(string,"Hello?");
ну или
std::string str="Hello?";
Ответ от Krаb Bark[гуру]
string = "Hello?" - недопустимо. У тебя строки - массивы символов. Присваивание массивов в C++ не допускается.
string = "Hello?" - недопустимо. У тебя строки - массивы символов. Присваивание массивов в C++ не допускается.
Ответ от Zilon[гуру]
Ох уж эти с++. Я перешел на яву и безумно счастлив по этому поводу.
Ох уж эти с++. Я перешел на яву и безумно счастлив по этому поводу.
Ответ от Krаb Bark[гуру]
string = "Hello?" - недопустимо. У тебя строки - массивы символов. Присваивание массивов в C++ не допускается.
string = "Hello?" - недопустимо. У тебя строки - массивы символов. Присваивание массивов в C++ не допускается.
Ответ от Zilon[гуру]
Ох уж эти с++. Я перешел на яву и безумно счастлив по этому поводу.
Ох уж эти с++. Я перешел на яву и безумно счастлив по этому поводу.
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: [C++] Нарушение прав доступа при записи \"0x00cb783d\".