不管是从哪本教材上,大多都在类这一章,写着类似于这么一句话——在类内不能对数据成员进行初始化,今天看到一个小例子,就能把这句话的漏洞找出来,这里有一个特殊的,对于初学者的我来言,这是今天的一个小收获(这个类写的不规范,但是可以说明这个问题):
这段代码是可以通过编译,可以运行的,运行的结果是2
但是在比较老的编译器上是不能运行的,现在大家使用的编译器都应该能过去。
如果我把代码改写一下的话:
这段代码是可以运行的(在VC++6.0和visual studio 2008都可以运行),运行结果是1,但是有一个warning
但是要注意的是,这种类型的数据成员不可以在初始化列表中完成。