invalid from fpermissive error conversion c++ string compiler-errors

c++ - from - conversión inválida de ''const char*'' a ''char''



invalid conversion from char to const char*c (2)

Los literales de caracteres individuales se obtienen con comillas simples :

str[i] = '' '';

Un literal con comillas dobles es un literal de cadena completo (una matriz de caracteres terminada en nulo), pero solo está reemplazando un solo char .

Estoy tratando de reemplazar cierto personaje en una cadena con un espacio usando la siguiente línea de código:

str[i] = " ";

¿Cómo puede darse cuenta de esto sin obtener el error en el título de la pregunta?


use comillas simples

str[ i ] = '' '';

En C ++, el token "" es un literal de cadena que representa una matriz de dos caracteres: el valor de un espacio en el conjunto de caracteres (por ejemplo, el valor 32 en ascii) y un cero. Por otro lado, el token '''' representa un solo carácter con el valor de un espacio (generalmente 32). Tenga en cuenta que en C, el token '''' representa un número entero con el valor de un espacio. (En C, sizeof ('''') == sizeof (int), mientras que en C ++, sizeof ('''') == 1.)