C 在什么情况下可以在函数中使用自动存储类?

C 在什么情况下可以在函数中使用自动存储类?,c,function,C,Function,假设我编写了这个函数,在哪些可能的情况下,我可以使用与静态或外部相反的自动存储类?来自: 6.9.1功能定义 auto void foo(void) { printf("test"); } auto void foo(void) { printf("test"); } 4声明说明符中的存储类说明符(如有)应为外部说明符或静态说明符 使用auto作为函数定义的存储类说明符是违反约束的。代码无效,行为未定义。我相信编译器需要发出诊断 在哪些可能的情况下,我可以使用与静态或外部

假设我编写了这个函数,在哪些可能的情况下,我可以使用与静态或外部相反的自动存储类?

来自:

6.9.1功能定义

auto void foo(void)
{
    printf("test");
}

auto void foo(void)
{
    printf("test");
}
4声明说明符中的存储类说明符(如有)应为外部说明符或静态说明符

使用
auto
作为函数定义的存储类说明符是违反约束的。代码无效,行为未定义。我相信编译器需要发出诊断

在哪些可能的情况下,我可以使用与
静态
外部
相反的
自动
存储类[带函数]


从来没有。

我明白了,它确实符合gcc中的警告。因此,如果它编译时带有警告ofc,它是否与静态函数相同不,它不一样。代码无效。该行为未定义。我相信gcc只是忽略了无效的存储说明符。