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

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

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

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

1 ответ

Решение

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

struct ppackage
{
    void* type;
};

ppackage ppnull()
{
    return {nullptr};
}

Или просто

ppackage ppnull()
{
    return {};
}
Другие вопросы по тегам