求解释程序执行错误
程序代码:
//编写一个使用指针作为形参的函数,实现对内存空间中连续n个元素的求和运算功能 #include <iostream> using namespace std; void sum(int *p,int n) { int s=0; for(int i=0;i<n;i++) s+=*p++; } void main() { int a[4]={2,3,4,5}; int *p=a; int n=sizeof(a)/sizeof(*a); cout<<sum(*p,n)<<endl; system ("pause"); } 1>------ 已启动生成: 项目: file1, 配置: Debug Win32 ------ 1>生成启动时间为 2014/5/10 17:18:38。 1>InitializeBuildStatus: 1> 正在对“Debug\file1.unsuccessfulbuild”执行 Touch 任务。 1>GenerateTargetFrameworkMonikerAttribute: 1>正在跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有输出文件相对于输入文件而言都是最新的。 1>ClCompile: 1> 指针连续求和.cpp 1>指针连续求和.cpp(15): error C2664: “sum”: 不能将参数 1 从“int”转换为“int *” 1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换 1> 1>生成失败。 1> 1>已用时间 00:00:00.56 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== 才学C++,出现这个错误不知道怎么解决啊,我想知道这个错在哪里了,哪位帮我解释一下那个无法转换到底什么意思哦,谢谢