区分int a() 和 int a
原创
©著作权归作者所有:来自51CTO博客作者mb6300b232419d1的原创作品,请联系作者获取转载授权,否则将追究法律责任
事因
#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 1000;
}
结果
鄙视下自己
今天才知道函数里边还可以声明函数(不可以定义)的。不信你看
#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;
}
结果