C++报错undeclared identifier的问题!求高手!

//以下是脚本内容
#include <iostream>
using namespace std;
//
int show(int ,int ); //define
void result(int ); //define
//
int show(int a,int b) //a,b
{
return a+b;

}

void result(int c) // c
{
cout<<""<<show(a,b);
}
//+++++++++++++++++++++++++++++++++++++++
int main()
{
int a,b;
int c;
c=a+b; //formula
cout<<"加法运算测试\n";
cout<<"输入数字:";
cin>>a; //insert
cout<<"加上";
cin>>b; //in...
cout<<"<<c<<"; //result
cout<<"---------------------------\n";
cout<<"完成运算!\n";
system("PAUSE");
}
/*然后我就出错了,错误如下。
E:\Program Files\Microsoft Visual Studio\MyProjects\1\1\1.cpp(49) : error C2065: 'a' : undeclared identifier
E:\Program Files\Microsoft Visual Studio\MyProjects\1\1\1.cpp(49) : error C2065: 'b' : undeclared identifier
E:\Program Files\Microsoft Visual Studio\MyProjects\1\1\1.cpp(66) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.

1.exe - 2 error(s), 1 warning(s)

谢谢高手解答啊。

void result(int c) // c
{
cout<<""<<show(a,b);
}
这个函数中a,b没有定义,一般来说,一个独立的{}就是一个独立的变量作用域,所以出现以上错误,可改为
void result(int c,int a,int b) // c
{
cout<<""<<show(a,b);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-05
a,b不是全局变量,函数中的a,b必须定义,也就是

void result(int c) // c
{
cout<<""<<show(a,b);
}

这里面的a,b没定义。
第2个回答  2010-08-05
很多问题啊
void result(int c) // 没定义 a b
{
cout<<""<<show(a,b);
} //这段可删掉
直接将 cout<<""<<show(a,b);加到
cout<<"<<c<<"; //result后面

int c;
c=a+b; // 没有赋值 怎么能运算呢 这两句删掉~

还有 把main()函数类型改成void 或者 在最后加上 return 0
第3个回答  2010-08-05
“cout<<""<<show(a,b);”a,b没有定义
并main中缺少return语句
相似回答