事因
#include <iostream>
using namespace std;
struct A
{
A(int) {}
A() {}
void fun() {};
}; int main()
{
A a(2);
a.fun();
A b();
b.fun();
}
编译错误
解释
A b(); 是函数声明,返回值为A, 函数名为b
不信你看
#include <iostream>
using namespace std; int main()
{
int test();
cout << test << endl;
cout << test() << endl;
} int test()
{
return ;
}
结果
鄙视下自己
今天才知道函数里边还可以声明函数(不可以定义)的。不信你看
#include <iostream>
using namespace std; int main()
{
int test();
cout << test << endl;
cout << test() << endl;
} int test()
{
void test1();
test1();
return 1000;
}
void test1()
{
cout << "I'm here" << endl;
}
结果