全局变量问题

全局变量问题

#include <iostream>

using namespace std;


int num1,num2;

int result1,result2;


void cal(int num1,int num2)

//void cal(num1,num2)  我如果这么写就会报错,可我觉得我已经在程序的最前面声明了全局变量了,为什么这里不需要再声明一次 Num和num2的类型?

{

result1=num1+num2;

result2=num1-num2;

}


int inputNum1()

{

int num1;

cin>>num1;

return num1;

}


int inputNum2()

{

int num1;

cin>>num2;

return num2;

}



void display(int num1,int num2)

{

int inputNum1();

int inputNum2();

cal(num1,num2);

cout<<"两数相加的结果为:"<<result1<<endl;

cout<<"两数相减的结果为:"<<result2<<endl;

}

int main()

{

cout<<"请输入第一个数:";

    num1 = inputNum1();

    cout<<"请输入第二个数:";

    num2 = inputNum2();

display(num1,num2);

return 0;

}


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

void cal(num1,num2) 这种写法肯定不对,不符合函数的定义方式,函数圆括号内的是形参,并不是代表的外面的num1和num2,这里只是一个参数。

提问者 broodopq 2018-08-28 17:14:20

--------------------Configuration: test8 - Win32 Debug--------------------

Compiling...

test8.cpp

C:\C++\test\test8.cpp(17) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition

C:\C++\test\test8.cpp(65) : error C2065: 'cal' : undeclared identifier

执行 cl.exe 时出错.


test8.exe - 1 error(s), 0 warning(s)


提问者 broodopq 2018-08-28 15:54:59

我如果这么写就会报错,可我觉得我已经在程序的最前面声明了全局变量了,为什么这里需要再声明一次 Num1和num2的类型?

  • 你报的是什么错?定义成全局变量不需要在声明变量了。
    2018-08-28 17:01:27
  • 提问者 broodopq 回复 Tender10 #2
    --------------------Configuration: test8 - Win32 Debug-------------------- Compiling... test8.cpp C:\C++\test\test8.cpp(17) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition C:\C++\test\test8.cpp(65) : error C2065: 'cal' : undeclared identifier 执行 cl.exe 时出错. test8.exe - 1 error(s), 0 warning(s)
    2018-08-28 17:13:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
C++零基础入门 热门编程语言 二级考试必备
  • 参与学习       529    人
  • 提交作业       110    份
  • 解答问题       594    个

无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师