C / C ++中的静态结构

时间:2011-03-05 17:46:21

标签: c++ c syntax

static struct K {  int x; };

这在C和C ++中有效吗?

4 个答案:

答案 0 :(得分:9)

在C中,它有效,但无用

在C ++中它无效。您只能为对象和函数指定存储类。

答案 1 :(得分:4)

在C. C ++中形成错误

在C ++中,说明符extern / static只能应用于对象或函数的名称

结帐

C.1.5 第7条:declarations(7.1.1)ISO C ++ 03


答案 2 :(得分:2)

否......这在C ++中无效。另一种选择是(C ++):未命名的命名空间

namespace 
{
   struct K {  int x; };
}

请参阅此相关主题:

Superiority of unnamed namespace over static?

答案 3 :(得分:1)