最近在复习cpp,随手写了个极为简单的程序,好家伙,一运行,报错了。加了对括号,问题圆满解决,看来,这个括号还是真的不能说减就减啊!
看代码:
#include<iostream>
using namespace std;
int Add(int x,int y)
return x + y;
int Sub(int x,int y)
return x - y;
int main()
{
int (*p)(int, int);
p = Add;
int t=1,v=2;
cout<<(*p)(t,v)<<endl;
p = Sub;
cout<<p(t,v)<<endl;
return 0;
}
编译器一运行,报错了,一检查,原来是main()上面的两个函数之间没有用括号加以区别编译器识别不了。
请看下面正确的代码:
#include<iostream>
using namespace std;
int Add(int x, int y)
{
return x + y;}
int Sub(int x, int y )
{
return x - y;
}
int main()
{
int (*p)(int, int);
p = Add;
int t=1,v=2;
cout<<(*p)(t,v)<<endl;
p = Sub;
cout<<p(t,v)<<endl;
return 0;
}
看来,在程序中,该有的括号一定要有啊!有时还真的不能凭自己的主观臆断。小程序虽然简单,但是隐含的问题还是得多总结啊!