error: expected constructor, destructor, or type conversion before '.' token

最近的工程中出现一个错误,error: expected constructor, destructor, or type conversion before '.' token  ,纠结了很久,终于找到原因,还是自己c++基本功不好,犯了低级错误,此处写下来,给自己警示!!!

C++中,全局阈只能声明、初始化变量; 不能用于赋值、运算、调用函数等!!!


关于初始化和赋值:(感谢monsion的提问)

对于初始化变量的解释:
程序中的变量可以声明多次,但是只能定义一次。
只有当声明也是定义时,声明才有初始化式,因为只有定义才分配存储空间,初始化必须要有存储空间来初始化。
如果声明有初始化式,那么它可以被当做定义。
对于赋值的理解:赋值是一种运算,赋值的等号是从右到左的运算符,对于全局变量,不能用于运算。
不知道表达清楚了没有,欢迎继续交流!


我的程序定义了一些全局变量


如果我在定义的bool 型变量aiml_load = aimlLoad() 后面加上一句aiml_load = true;那么句会报标题这样的错误,去掉后编译通过。这个例子不一定恰当,但是原理是这样的。后悔没有在当时遇到这个错误的时候详细的记录下犯错的例子,现在只能先这样举一个生硬的例子了。

  • 26
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值