Рассмотрим этот кусок кода: < /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