Question

En C, je peux faire ceci:

ppackage ppnull() {
    return (ppackage) {
        .type = NULL
    }
}

Cependant, en C ++, j'obtiens des erreurs de syntaxe. J'utilise le GNU g++ compilateur. Y a-t-il un commutateur pour activer cela?

Était-ce utile?

La solution

Avec c++11 Vous pouvez utiliser la liste des initialisateurs:

struct ppackage
{
    void* type;
};

ppackage ppnull()
{
    return {nullptr};
}

Ou juste

ppackage ppnull()
{
    return {};
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top