问答题 使用VC++6.0打开 下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使得程序通过运行。
程序输出结果为:
5
a
1
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include<iostream>
template<class T>
//********error********
t min(t x,t y)
{
return (x>y) ? y:x;
}
void main()
{
int n=5;
//********error********
char c="a";
int d=1;
//********error********
cout<<min(n,n)<< endl;
cout<<min(c,c)<<endl;
cout<<min(d,d)<<endl;
}
【正确答案】
【答案解析】(1)应改为T min(T x,T y)
(2)应改为char c=′a′;
(3)应改为using namespace std;
答案考生文件夹 [解析] 本题C++是区分大小写的,"template<class T>"语句中定义的模板类为T不是t,所以第1处的"t min(t x,t y)"修改为"T min(T x,T y)"。第2处的"char c="a";"语句中的变量a为char型,赋值为字符a,在C++中应该使用单引号标注字符变量,而不是双引号,所以修改为"char c=′a′;"。在程序中用到C++标准库时,要使用std标准命名空间进行限定。cout为标准库函数,所以要声明cout是在命名空间std中定义的流对象,即添加using namespace std;"。