C++程序错误:error C2064: term does not evaluate to a function

#include <iostream.h>

int sum(int n)
{
int i,s=1;
if(n==0)
s=1;
for(i=1;i<=n;i++)
s=s*2;
return s;
}
void main()
{
int a[8],i,sum,s=0;
cout<<"please input a binary: "<<endl;
for(i=7;i>=0;i--)
{cin>>a[i];
if(a[i]==1)
{
sum=sum(i);
s=s+sum;
}
}
cout<<" the decimal is:"<<s<<endl;
}
我是想通过这个程序实现一个8位二进制数转化为十进制输出,期中要调用函数,功能是求2的n次幂方,哪里错误了??

int sum;---变量名sum
int sum(int n)——函数名sum
把函数换一个名字或者变量名换一个名字吧~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-14
最好不要将函数sum()与变量取一样的名字。。
相似回答