代码之家  ›  专栏  ›  技术社区  ›  merlin2011

c++函数签名中是否定义了“struct”?

  •  2
  • merlin2011  · 技术社区  · 7 年前

    这个问题与另一个问题类似,但更具体:

    using struct keyword in variable declaration in C++ .

    考虑以下程序:

    #include <stdio.h>
    
    struct Foo {
        int x;
        int y;
    };
    
    Foo getFoo() {
        Foo foo;
        return foo;
    }
    
    int main(){
        getFoo();
    }
    

    上面的程序编译 g++ 但不是 gcc .

    我们可以修改程序如下,使其与 海合会 克++ :

    #include <stdio.h>
    
    struct Foo {
        int x;
        int y;
    };
    
    struct Foo getFoo() {
        struct Foo foo;
        return foo;
    }
    
    int main(){
        getFoo();
    }
    

    这是使用 struct 标准保证的关键字 定义明确 在C++中?

    1 回复  |  直到 7 年前
        1
  •  4
  •   T.C. Yksisarvinen    7 年前

    对。这就是所谓的 elaborated-type-specifier .

    推荐文章