eine Struct zurückgeben?



  • Hallo,

    hab eine Frage,

    Habe folgendes in meiner Header stehen:

    typedef struct NMEA_GGA{
    
    	float Time;
    	float Latitude;
    	char LatDirection[2];
    	float Longitude;
    	char LongDirection[2];
    	int Quality;
    	int Sats;
    	float DOP;
    	float Geoid;
    
    } NMEA_GGA;
    

    Nun hab ich eine Funktion die mir NMEA_GGA mit gefüllten Werten zurück geben soll, mein Anfang wo Ich nun wohl an der Deklaration hänge:

    NMEA_GGA NMEA_Parser::parse_gga(AnsiString Data)
    {
    	NMEA_GGA *NMEA_GGA;
    	return NMEA_GGA;
    }
    

    Kann mich jemand kurz auf den richtigen Weg schicken?



  • Du solltest den Typ deiner struct schon anders benennen als die Instanz. Abgesehen davon braucht man bei C++ das typedef bei structs nicht mehr. Weiterhin würde ich dir raten Namen nur aus Großbuchstaben für Typen und Variablen zu vermeiden. Sowas nimmt man man normalerweise nur für defines bzw. Konstanten.

    struct Nmea_gga
    {
    
        float Time;
        float Latitude;
        char LatDirection[2];
        float Longitude;
        char LongDirection[2];
        int Quality;
        int Sats;
        float DOP;
        float Geoid;
    }; 	
    
    Nmea_gga NMEA_Parser::parse_gga(const AnsiString& Data)
    {
        Nmea_gga nmea_gga;
        return nmea_gga;
    }
    


  • Hallo

    Das typedef brauchst du in C++ nicht mehr, da ist eine alte Notwendigkeit aus C

    struct NMEA_GGA{
    
        float Time;
        float Latitude;
        char LatDirection[2];
        float Longitude;
        char LongDirection[2];
        int Quality;
        int Sats;
        float DOP;
        float Geoid;
    
    };
    

    Das zurückgeben sieht dann so aus (eigentlich genauso wie bei einfachen Typen):

    NMEA_GGA NMEA_Parser::parse_gga(AnsiString Data)
    {
        NMEA_GGA result;
        result.Time = ...; //Werte setzen
        return result;
    }
    

    bis bald
    akari

    /Edit : zu spät...


Log in to reply