error:error C2664: 'calc' : cannot convert parameter 2 from 'int' to 'int []' Conversion fro

//看见输入中有总数,并列出总数中的每一个分量的题,都应该想到用数组
#include
#include
using namespace std;
class multi
{
public:
	multi(int xx)
	{
		x=xx;
	}
	int calc(int m,int a[])
	{
		int sum=0;
		for(int q=0;q<=m;q++)
		{
			sum+=a[q]*pow(x,q);
		}
		return sum;
	}
private:
	int a[11];							//存储最多11个系数
	int x;
};

int main()
{
	int i,a[11],m,x;					//数组a存储每个系数
	cin>>i;								//i为测试用例数
	while(i--)
	{
		cin>>m;							//m为最高项次数
		for(int p=0;p<=m;p++)
		{
			cin>>a[p];					//数组的下标与对应的x的幂数一样
		}
		cin>>x;
		multi ob(x);
		ob.calc(m,a[11]);
	}	
	return 0;
}

以上代码中calc(m,a[11]);是不对的,因为数组作为参数,传递的是地址。

应改为:calc(m,a);

你可能感兴趣的:(c/c++,IT:我犯的错误)