int main()
{
typedef struct a
{
static int w;
char *p;
} a;
}
上编译它给error:expected specifier-qualifier-list before 'static'
可以ü请告诉我这是什么错误的手段,以及如何去除呢?编译器错误:“预期说明符限定符列表”
int main()
{
typedef struct a
{
static int w;
char *p;
} a;
}
上编译它给error:expected specifier-qualifier-list before 'static'
可以ü请告诉我这是什么错误的手段,以及如何去除呢?编译器错误:“预期说明符限定符列表”
本地类在C++中不能有静态数据成员。
引述标准(第9.8.4)
A local class shall not have static data members.
在你不知道的可能性不大的情况下,局部类是一个类,结构或功能范围定义的工会。
9.8.1
A class can be defined within a function definition; such a class is called a local class.
static
是存储类,所以它不会正确地应用到typedef
。它与register
和const
相同。
即使static
工作,w
将如何静态和p
不是静态的?
这会的工作,虽然:
int main()
{
typedef struct a
{
int w;
char *p;
} a;
static a a0;
}
是什么,但关于C? –
@Shashi Bhushan:C不支持静态数据成员。 –
@Shashi:我已经从你的问题中删除了C标签,因为你的main()声明不是C. –