为了账号安全,请及时绑定邮箱和手机立即绑定

C语言函数模板问题?

C语言函数模板问题?

慕姐4208626 2019-02-06 16:06:35
#include "stdafx.h"#include <iostream>template <class T>void swap(T &a,T &b);int main(){using namespace std;int i=20;int j=30;cout<<"i,j="<<i<<j<<endl;swap(i,j);cout<<i<<","<<j<<endl;getchar();return 0;}void swap(T &a,T &b){int temp;temp=a;a=b;b=temp;}为什么报错呢?
查看完整描述

3 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

#include <iostream>
using namespace std; //引入std命名空间
template <class T>
void myswap(T &a,T &b); //swap在iostream定义过了,换个名字
int main(){
using namespace std;
int i=20;
int j=30;
cout<<"i,j="<<i<<j<<endl;
myswap(i,j);
cout<<i<<","<<j<<endl;
getchar();
return 0;
}
template<class T> //这个还是要写一遍
void myswap(T &a,T &b){
T temp; //temp是T类型
temp=a;
a=b;
b=temp;
}



查看完整回答
反对 回复 2019-03-22
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

#include "stdafx.h"
#include <iostream>
template <class T>
void myswap(T &a,T &b); //因为标准模板库中有swap函数,系统不能识别,我只要函数名改一下就可以了
int main(){
using namespace std;
int i=20;
int j=30;
cout<<"i,j="<<i<<j<<endl;
swap(i,j);
cout<<i<<","<<j<<endl;
getchar();
return 0;
}
template <class T> //这里也需要
void myswap(T &a,T &b){
T temp;
temp=a;
a=b;
b=temp;
}



查看完整回答
反对 回复 2019-03-22
  • 3 回答
  • 0 关注
  • 1022 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信