class A{ private: string a; public: A():a("hello world"){}; A(const string & arg):a(arg){}; void put()const{cout<<a;}; }; A aaa(); A bbb;
那么A aaa()之间的区别是什么?和一个bbb; aaa是一个功能吗?
解决方法
是的,第一个被解释为函数声明.它被称为
Most Vexing Parse.
class A{ private: string a; public: A():a("hello world"){}; A(const string & arg):a(arg){}; void put()const{cout<<a;}; }; A aaa(); A bbb;
那么A aaa()之间的区别是什么?和一个bbb; aaa是一个功能吗?