又碰到一道关于结构体知识的选择题:
下列代码编译时会产生错误的是()
#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;
}
我就没看懂到底是什么意思,后来才发现有一个误区,
就是无参构造函数应该是 Foo b;这样调用无参构造函数定义一个新对象的
那么