- 博客(1)
- 收藏
- 关注
原创 C++: A a() 和 A a 的区别。
定义一个对象的时候 : A a()这种写法在C++中是编译不过的,因为编译器无法区分你是声明一个方法还是在定义一个对象。所以形式上必须不加括号: A a 。 A a(arg) 这种是可以的,因为声明有参数的函数的形式和这个不一样。声明有参函数必须指定类型,所以是可以区分是在声明函数还是在定义对象。 说白了就是代码在编译的时候 语义上有歧义,算是一个小问题吧,想明白了就写出来。
2017-06-04 03:02:01
3182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人