Имеется строка string message = "Hello!";
Функция принимает const char*, мне нужно передать в неё первый символ этой строки.
Вариант с message[0] возвращает char, пытаюсь сделать так: (const char*)message[0];
Но программа крашится, как это исправить без написания лишних строк кода, прямо параметром, м?
Герман, Если тебе нужно передать лишь один символ, передавай char, поинтер не нужен, если тебе нужно передать си строку из одного символа(плюс ещё один на символ окончания строки), то придётся либо модифицировать исходную, либо создать ещё одну
Герман, прекрасно, но тебе-то нужен не char. Твоя функция по-видимому ожидает С-строку. Если ты тупо возьмёшь адрес того, что вернёт message[0], ты получишь либо всю строку которая лежит в message, либо первый символ какой тебе нужно, а за ним -- неизвестное количество мусора.
В С строка -- это не часть языка, а просто соглашение, что это все символы в памяти подряд, начиная с того, на который указывает указатель, и заканчивая символом с кодом 0.