Saltar al contenido

Recibo “Invalid Initializer”, ¿qué estoy haciendo mal?

Solución:

Debido a que no puede inicializar así, necesita una expresión constante como valor de inicialización. Reemplácelo con:

int main (void) {
    char testStr[50] = "Hello, world!";
    char revS[50]; strcpy (revS, testStr);
    // more code here
}

O si tu De Verdad desea inicialización, puede usar algo como:

#define HWSTR "Hello, world!"
int main (void) {
    char testStr[50] = HWSTR;
    char revS[50] = HWSTR;
    // more code here
}

Esto proporciona una expresión constante con una mínima duplicación en su fuente.

Las matrices no se pueden asignar.

Debes usar memcpy para copiar contenido de testStr para revS

memcpy(revS,testStr,50);

Solo se pueden usar expresiones constantes para inicializar matrices, como en su inicialización de testStr.

Estás intentando inicializar revS con otra variable de matriz, que es no una expresión constante. Si desea copiar el contenido de la primera cadena en la segunda, deberá usar strcpy.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *