C ++复合文字

时间:2012-02-24 19:02:31

标签: c++ c inline compound-assignment

在C中,我可以这样做:

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

但是,在C ++中我遇到了语法错误。我使用GNU g++编译器。是否有启用此功能的开关?

1 个答案:

答案 0 :(得分:2)

使用c++11,您可以使用初始化列表:

struct ppackage
{
    void* type;
};

ppackage ppnull()
{
    return {nullptr};
}

或者只是

ppackage ppnull()
{
    return {};
}