有人说说是为了避免歧义。比如:
class Widget {private: typedef int x; int z(x); };
这样变成了函数声明。但是,在类外同样可以写
typedef int x;int z(x);
我觉得避免歧义并不是它的原因。之后看有人说是类内不允许直接初始化,那么列表初始化不属于直接初始化吗?请问类内不允许圆括号初始化是什么原因?C++ primer第五版65页只说了“记住”,没说原因啊
慕斯王
相关分类