首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

primer关于模板的一道习题解决方法

2012-03-11 
primer关于模板的一道习题为什么编译报错,“T”isambiguous.#include iostreamusingnamespacestdtemplate

primer关于模板的一道习题
为什么编译报错,“T”is   ambiguous.

#include <iostream>
using   namespace   std;

template   <typename   T>
int   compare(const   T   &v1,   const   T   &v2)
{
if(v1 <v2)   return   -1;
if(v2 <v1)   return   1;
return   0;
}

int   main()
{
compare( "hi ",   "world ");//这里报错

return   0;
}

[解决办法]
"hi " 类型是const char[3]
"world "类型是const char[6]
类型不匹配,推不出T是什么类型

这样写 compare( "hi ", "world ");就可以通过编译了。
[解决办法]
lann64
是对的,受教了,发现一个理解的误区
文本字符串常量的类型是字符数组,可以用来初始化一个字符指针,但类型不是字符指针

热点排行