| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1679 人关注过本帖
标题:这个错误如何修改
只看楼主 加入收藏
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
结帖率:90.38%
收藏
已结贴  问题点数:14 回复次数:7 
这个错误如何修改
这行出错:
g=x+y;

显示错误如下:
[Error] 'x' was not declared in this scope
如何修改?代码如下:
程序代码:
#include<iostream>
using namespace std;
int g;
double (*add)(double x,double y){
    g=x+y;
    return g;
}
double calculate(double x,double y,double *ar){
    double *p=new double;
    p=(*ar)(x,y);
    return *p;
}
int main(void){
    double j,k;
    while(1){
        cout<<"请输入j,k的值:";
        while(!(cin>>j)||!(cin>>k)){
            cin.clear();
            while(cin.get()!='\n');
                continue;    
            cout<<"错误,输入的是字母,请输入数字:\n";        
        } 
    (*add)(j,k);
    double h=calculate(j,k,add);
    cout<<"calculate函数的返回值为:"<<h<<endl;    
    delete p;
    }
    return 0;
}


[此贴子已经被作者于2020-12-10 19:30编辑过]

搜索更多相关主题的帖子: 修改 return cin double 错误 
2020-12-10 19:28
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:7 
好多语法错误,都是最最基础的。
现在的问题是,你这代码是纯粹错成这样,还是题目要求必须使用函数指针?
2020-12-10 20:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <iostream>
#include <limits>
using namespace std;

double add( double x,double y )
{
    return x + y;
}

double calculate( double x, double y, double (*pfun)(double,double) )
{
    return (*pfun)( x, y );
}

int main(void)
{
    double a, b;
    for( ; ; )
    {
        cout << "请输入a,b的值:";
        cin >> a >> b;
        if( cin.eof() || cin.bad() )
            return 1;
        if( cin.fail() )
        {
            cin.clear();
            cin.ignore( numeric_limits<streamsize>::max(), '\n' );
            cout << "格式错误,";
        }
        else
            break;
    }

    double result = calculate( a, b, &add );
    cout << "calculate函数的返回值为:" << result << endl;    
}
2020-12-10 21:06
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
收藏
得分:0 
回复 2楼 rjsp
题目要求必须使用函数指针。
2020-12-10 21:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
回复 4楼 hffjhhh
我在三楼给你写了,用了函数指针
2020-12-10 21:45
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
收藏
得分:0 
以下是引用rjsp在2020-12-10 21:06:15的发言:

double add( double x,double y )
{
    return x + y;
}

这个函数的实现必须这样写,
不能像下面这样写?
double (*add)( double x,double y )
{
    return x + y;
}
2020-12-10 22:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
回复 6楼 hffjhhh
不能
2020-12-11 12:52
chaofrog
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2020-12-11
收藏
得分:7 
感谢
2020-12-11 19:22
快速回复:这个错误如何修改
数据加载中...
 
   



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

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