error: #77-D: this declaration has no storage class or type specifier

在使用Keil编写程序时,无意间发现一个特别简单也是特别容易忽略的问题,编译报错如下:

error:  #77-D: this declaration has no storage class or type specifier

按照错误指向,发现了对应的程序行非常简单,(真实的程序是先定义结构体,然后再对结构体进行赋值),这里等效简化,程序如下:

//

int a;

a = 1;

/

然后就发现出现了文章开头的错误,经过调试才知道:“对变量的赋值一般不能放到函数外,只有在定义全局变量时的初始化才被允许!”

	所以如果一定要在函数外定义变量,要么就不要赋值定义(在函数内定义),要么就在声明后立刻定义,对于本例,可以修改成如下:
	int a=1;    这样就不会报错。


你可能感兴趣的:(C/C++)