Leerer Vector als defaultwert



  • Hallo,

    ich habe ein kleines Problem bei der Erstellung eines constructors fuer ein struct (sollte ja gehen, struct=class ausser bez. default public und default private, soweit ich weiss) Und eben diesem Constructor soll ein vector uebergeben werden, der auf leer defaulted wird.

    Konkret sieht das struct folgendermassen aus:

    struct item{
        std::string name,description;
        int dkpprozent,dkp;
        std::vector<std::string> owner;
        item(const std::string& n,int dp,const std::string& des="",const std::vector<std::string>& o=/*hier das Problem*/,int d=0);
    }
    

    Tja, und nun sollte nach Moeglichkeit ein leerer vector als default argument uebergeben werden, da eben dieser vector in den meisten Faellen beim deklarieren einer Variablen vom Typ item leer sein wird. Und ich habe gerade leider keine Ahnung wie ich das angebe.
    Gibt es da irgendeine Moeglichkeit? Oder muss ich 2 Constructoren schreiben? (waere ja jetzt nicht so das Problem, aber mich hat das jetzt einfach mal interessiert obs geht)

    PS: dumme nebenfrage: heisst es eigentlich allgemein "das struct" was ich jetzt intuitiv genutzt hab, oder eher die struct wegen "die Struktur"



  • Hallo

    item(const std::string& n,int dp,const std::string& des="",const std::vector<std::string>& o=std::vector<std::string>(),int d=0);
    }
    

    bis bald
    akari




Log in to reply