Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;复合文字_C++_C_Inline_Compound Assignment - Fatal编程技术网

C++ C++;复合文字

C++ C++;复合文字,c++,c,inline,compound-assignment,C++,C,Inline,Compound Assignment,在C中,我可以这样做: ppackage ppnull() { return (ppackage) { .type = NULL } } 但是,在C++中,我会得到语法错误。我使用GNUg++编译器。是否有启用此功能的开关?使用c++11可以使用初始值设定项列表: struct ppackage { void* type; }; ppackage ppnull() { return {nullptr}; } 或者只是 ppackage ppn

在C中,我可以这样做:

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

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

使用
c++11
可以使用初始值设定项列表:

struct ppackage
{
    void* type;
};

ppackage ppnull()
{
    return {nullptr};
}
或者只是

ppackage ppnull()
{
    return {};
}

这不是标准C++,请做<代码> pPcP={};返回p或just
返回{}
如果你有C++11.Puting
nullptr
没有必要现在ppackage有一个匿名联合,其中有许多结构。在那里我必须有
{.type='f',.fetch={“home”}
@imacake,好吧,这对联合不起作用,你必须更改语法或重新考虑你的设计(使用构造函数,但它会使你的
结构与
C
不兼容)。你应该告诉我,你能做什么,我才能提供更完整的解决方案。