下列代码编译时会产生错误的是()
-
#include <iostream>
-
using namespace std;
-
struct Foo
-
{
-
Foo() { }
-
Foo(int) { }
-
void fun() { }
-
};
-
int main(void)
-
{
-
Foo a(10);
-
a.fun();
-
Foo b();
-
b.fun();
-
return 0;
-
}
A、语句1 B、语句2 C、语句3 D、语句4
语句3就已经不对了,应该没有后面的括号的,但编译器会认为这是函数的声明,所以3本身不报错,4基于3的认识上出错。
一道不易看明白的笔试题
原文:http://blog.csdn.net/u014082714/article/details/43193149