【发布时间】:2011-07-18 14:53:31
【问题描述】:
我搜索了但找不到答案。
所以我有我的 c++ 构造函数:
MyClass(string username = "something");
注意这是我唯一的构造函数。
在我的主要,我做:
MyClass one();
MyClass two = MyClass();
这两个表达式是等价的吗?编译器会用默认字符串调用我的构造函数,还是会调用默认(空)构造函数?
如果我确实有一个构造函数 MyClass(); 会发生什么变化; ?我猜那不会编译,对吧?
【问题讨论】:
-
MyClass one();Refferred to as the most Vexing parse 它实际上并不是变量一的声明。但是一个名为 one 的函数的前向声明。
标签: c++ constructor default-value default-constructor