error C2275: 'xxx' : illegal use of this type as an expression

今天在Windows CE7上修改代码时出现了该错误,历经千辛,中午找到了答案:


(源自:http://www.cnblogs.com/joeblackzqq/archive/2011/04/13/2014714.html)


(declaration)must placed on the beginning of function, In this case, the compile option is

key. In VC default compile option, there no problem. But when compile option is strict, this style

of writting can not compile with success.


     难道传说中标准的C编译器是要求定义必须在程序开头定义的是真的?搜了一下相关答

案,好像确实是,是C98标准了,C99都可以的,在C++中,这个要求不是很严格,也就是说

在程序中也可以定义变量。

我试着在函数后声明一个 int i;会产生这个错误:

error C2143: syntax error : missing ';' before 'type'

     这样,我就明白了,把“time_t”提前声明就OK了,确实也通过编译,但是问题来了:

我用的是VC啊,我的编译环境和变量就没有改变过,难道VC会根据后缀名是.C还是.cpp来分

别选取不同的编译器吗?这个还是值得探讨研究一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值