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

小弟我这个程序有异常吗

2012-03-06 
我这个程序有错误吗?#includeiostreamusingnamespacestdtemplatetypenameT//A模版Taddarr(Tarr[],int

我这个程序有错误吗?
#include   <iostream>
using   namespace   std;

template   <typename   T>                                             //A   模版
T   addarr   (T   arr[]   ,   int   n);

template   <typename   T>                                                 //B   模版
T   addarr   (T   *   arr[]   ,   int   n);

struct   debts
{
char   name   [50];
double   amount;
};

int   main   (void)
{
int   things[6]   =   {13,31,103,301,310,130};
struct   debts   mr_E[3]   =
{
{ "Ima   wolfe "   ,   2400.0},
{ "Ura   Foxe "   ,   1300.0},
{ "Iby   Stout ",   1800.0}
};

double   *   pd[3];
for   (int   i   =   0   ;   i <   3   ;i++)
pd[i]   =   &mr_E   [i].amount;
cout   < <   "sum   of   things:   \n ";
cout   < <   addarr   (things,6) < <endl;
cout < <   "sum   of   debts:   \n ";
cout   < <   addarr   (   pd,   3);       //   A   处
return   0;
}


template   <typename   T>
T     addarr   (T   arr[]   ,   int   n)
{
int   sum   =   0;
cout   < <   "Template   A   \n ";
for(int   i   =   0   ;   i   <   n   ;   i++   )
sum   +=arr   [i];
return   sum;
}

template   <typename   T>
T     addarr   (T   *   arr[]   ,   int   n)
{
int   sum   =   0;
cout   < <   "Template   B\n ";
for   (   int   i   =0   ;i <   n;   i++)
sum   +=   *arr[i];
return   sum;
}


编译时在A处提示错误   error   C2667:   'addarr '   :   none   of   2   overload   have   a   best   conversion

为什么   意思好象是说找不到合适的函数来调用?
按照我想   他因该会   调用   B   摸板啊  
我应该没写错啊   高手们来帮我看看   谢谢

[解决办法]
你就扔了VC6,换VC2005再试吧。
用VC6学C++就是浪费生命。

热点排行