求解释程序执行错误
											
程序代码://编写一个使用指针作为形参的函数,实现对内存空间中连续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++,出现这个错误不知道怎么解决啊,我想知道这个错在哪里了,哪位帮我解释一下那个无法转换到底什么意思哦,谢谢
										
					
	


											
	    

	


