c++问题,计算1+3+3^2+.....+3^10,用vs2010 c++编写的,不知道哪里出了错,大侠帮帮忙

#include<iostream>
#include <cmath>
void mian ()
{
using namespace std;
int sum,i,n;
sum=0;
for(i=0;i<10;i++) {sum=sum+ pow(3,i);std::cout<<sum<<std::endl;}
std::cout<<sum<<std::endl;
}
错误1error C2668: “pow”: 对重载函数的调用不明确d:\vs2010练习程序\平方\平方\平方.cpp91平方
2IntelliSense: 有多个 重载函数 "pow" 实例与参数列表匹配:d:\vs2010练习程序\平方\平方\平方.cpp930平方

pow函数的参数为double类型,所以要类型转换下。
#include<iostream>
#include <cmath>
using namespace std;
int main()
{

int sum(0);
for(int i = 0; i < 10; ++i)
{
sum += pow(3,(double)i);
}
cout<<sum<<endl;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-04
#include<iostream>
#include <cmath>
void main ()
{
using namespace std;
double sum,i,n;
sum=0;
n=3;
for(i=0;i<10;i++) {sum=sum+ pow(n,i);std::cout<<sum<<std::endl;}
std::cout<<sum<<std::endl;
}

pow函数在头文件中是重载函数,要指明你所调用的参数类型pow(n,i),n已经确定为double,你的3系统无法识别
相似回答