C ++ Составной литерал - PullRequest
       34

C ++ Составной литерал

0 голосов
/ 24 февраля 2012

В C я могу сделать это:

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

Однако в C ++ я получаю синтаксические ошибки.Я использую компилятор GNU g++.Есть ли переключатель, чтобы включить это?

1 Ответ

2 голосов
/ 24 февраля 2012

С c++11 вы можете использовать список инициализатора:

struct ppackage
{
    void* type;
};

ppackage ppnull()
{
    return {nullptr};
}

или просто

ppackage ppnull()
{
    return {};
}
...