下列代码编译时会产生错误的是()
A.语句1 B.语句2 C.语句3 D.语句4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#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 . } |
答案D 错选A
Foo b();
//语句3 这是是函数定义语句。 所以语句4会报错。
Foo b; 这才是调用构造函数。