下列代码编译时会产生错误的是()
#include <iostream> using namespace std; struct Foo { Foo() {} Foo(int) {} void fun() {} }; int main(void) { Foo a(10); //语句1 a.fun(); //语句2 Foo b(); //语句3 b.fun(); //语句4 return 0; 16. }
class Foo { public: Foo() {} Foo(int) {} void fun() {} } void main(void) { Foo a(10); // 调用自定义构造函数生成对象 a.fun(); // 调用类的成员函数 Foo b; // 调用默认构造函数生成对象 b.fun(); // 调用类的成员函数 Foo c(); // 声明了一个返回值类型为Foo的无参函数b c.fun(); // 出错 }