| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 388 人关注过本帖
标题:求解释程序执行错误
只看楼主 加入收藏
周歪强
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
求解释程序执行错误
程序代码:
//编写一个使用指针作为形参的函数,实现对内存空间中连续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:381>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++,出现这个错误不知道怎么解决啊,我想知道这个错在哪里了,哪位帮我解释一下那个无法转换到底什么意思哦,谢谢
搜索更多相关主题的帖子: include 
2014-05-10 17:23
funyh250
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:26
帖 子:290
专家分:1573
注 册:2013-12-25
收藏
得分:20 
*p  不是指针  改成 cout<<sum(p,n)<<endl;

另外你要得到一个int的s,应该这样定义sum函数
int sum(int *p,int n)
{
    int s=0;
    for(int i=0;i<n;i++)
        s+=*p+i;
        return s;
}

学习是大事   吃喝拉撒睡是小事   其他的那都不是事
2014-05-10 21:24
周歪强
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-4-21
收藏
得分:0 
回复 2 楼 funyh250
ok,可以执行了,可是那个指针定义的时候不是*+指针名吗,为什么函数参数的时候就不能加那个*??求解释一下,谢谢
2014-05-10 22:09
快速回复:求解释程序执行错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025373 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved