No puedo crear un alias para una estructura anidada en C ++. Supongamos que tenemos este código a continuación. Ahora, ¿cómo crear un alias para struct Score usando typedef o etc.?

struct Information
{
    struct Score
    {
        struct Score *link;
        float src;

    } *src;
};
-1
Amir Mohsen Ghasemi 27 ago. 2020 a las 15:47

2 respuestas

La mejor respuesta

Si struct Score solo se declara dentro de struct Information, no podrá usarlo como su propia entidad. Así que rómpelo.

struct Score {
    struct Score *link;
    float src;
};

struct Information {
    struct Score *src;
};
1
stderr 27 ago. 2020 a las 12:56

Simplemente use typedef después de la declaración de struct Information. No hay razón para definir un nuevo tipo dentro de la estructura Information.

struct Information
{
    struct Score
    {
        struct Score *link;
        float src;
    } *src;
};

typedef struct Score score;
0
RobertS supports Monica Cellio 27 ago. 2020 a las 13:03