程序编译可以通过,但是无法运行,求解

qnzy79632145 2017-03-25 03:54:01
#include <iostream>

using namespace std;


class caculator{
public:void setnum(int *p,char *o,int i);
private:int a[20];
char b[20];};
void caculator::setnum(int *p,char *o,int i){
*p=a[20];
*o=b[20];
for(i=0;i<20;i++){
cin>>*p>>*o;
*p++;
*o++;
}
}

int main()
{ caculator mycaculator;
cout << "请输入计算式:";
mycaculator.setnum(0,0,0);


return 0;
}
...全文
136 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaozeng851998821 2017-03-25
  • 打赏
  • 举报
回复
void caculator::setnum(int *p,char *o,int i){ *p=a[20]; *o=b[20]; for(i=0;i<20;i++){ cin>>*p>>*o; *p++; *o++; } } 索引20 已经超了数据的索引合法范围了。 你是不是想向两个数组读入数据, 如果是的话,函数不需要参数,改为如下即可: void caculator::setnum(){ int *p = a, *o = b; for(i = 0; i < 20; ++i){ cin >> *p >> *o; ++p; ++o; } }
qq_38039955 2017-03-25
  • 打赏
  • 举报
回复
mycaculator.setnum(0,0,0);这错了 setnum(0,0,0)就行

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧