illegal use of this type as an expression错误出现的原因

时间:2022-01-10 18:53:40

C语言代码如下:

 

S32 x,y,w,h;

stFontAttribute f={0};

f.size = LARGE_FONT;

UI_filled_area filler = {0};

 

EntryNewScreen(SCR_MYAPP_MAIN,mmi_myapp_exit,NULL,NULL);

entry_full_screen();

 

重点看第四行,它的作用是定义一个结构体。

结果报的错误是:error C2275: 'UI_filled_area' : illegal use of this type as an expression

这种错误很怪吧,没有提示头文件出问题,没有提到结构体出问题。我把头文件和这个结构体变量定义都做了一下修改还是提示这个问题。网上查了一下,原来新定义的量要放到这个函数的第一行,修改之后的样子是:

 

UI_filled_area filler = {0};

S32 x,y,w,h;

stFontAttribute f={0};

f.size = LARGE_FONT;

 

EntryNewScreen(SCR_MYAPP_MAIN,mmi_myapp_exit,NULL,NULL);

entry_full_screen();

这时候程序编译已经没有什么问题了。

 

从这个问题可以看到,C语言的格式是很重要的。