Segfault при попытке получить доступ к первым символам std :: stringC++

Программы на C++. Форум разработчиков
Anonymous
Segfault при попытке получить доступ к первым символам std :: string

Сообщение Anonymous »

Рассмотрим этот кусок кода: < /p>

Код: Выделить всё

std::string* symbol = (std::string*) to_push->value;
printf("Got symbol\t%s\n", symbol->c_str());
switch ((symbol->operator[](0)) {
Здесь, to_push является указателем на объект, который имеет значение атрибута типа void*. Поэтому я конвертирую это значение в std :: string*, потому что мне нужно знать, какое его содержание. Вы видите здесь, я пытаюсь получить доступ к строке через оператор [0] , не вытянув ее. Я также пробовал много других комбинаций, таких как *(symbol-> c_str ()) или ( *symbol) [0] , но я всегда получаю эту ошибку ошибки сегментации.
Почему это? Что я делаю не так?>

Подробнее здесь: https://stackoverflow.com/questions/396 ... -stdstring

Вернуться в «C++»