新手提问,在线等,一定结分

Benny_ywb 2006-10-24 09:43:40
按照C++PRIMER的例题,编写程序如下:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

template< class elemType >
void a( elemType *pBegin, elemType *pEnd )
{
for ( pBegin != pEnd )
{
cout << *pBegin << ' ';
++pBegin;
}
}

int main()
{
int ia[9] = { 1, 2, 3, 4, 5, 6, 8, 9, 7 };
double ib[6] = { 3.14, 2.56, 83.2, 5.687 };
string ic[4] = { "shfak", "fhdah", "fdhkah" };
a( ia, ia+9 );
a( ib, ib+6 );
a( ic, ic+4 );
return 0;
}

结果却报错.这里ia不能代表指向数组ia第一个数的指针吗?
代码和书上的一样啊.

...全文
119 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jokar 2006-10-24
  • 打赏
  • 举报
回复
a( ia, ia+9 ); ==> a<int>( ia, ia+9 );
a( ib, ib+6 ); ==> a<double>( ib, ib+6 );
a( ic, ic+4 ); ==> a<string>( ic, ic+4 );
---------------------
前辈果然好就没碰C++了:)
Benny_ywb 2006-10-24
  • 打赏
  • 举报
回复
好象,貌似,大概,可能……模板函数要这样调用嘀:

a( ia, ia+9 ); ==> a<int>( ia, ia+9 );
a( ib, ib+6 ); ==> a<double>( ib, ib+6 );
a( ic, ic+4 ); ==> a<string>( ic, ic+4 );

( 好久没碰 C 了,记不清楚了 )

你这样也可以
Woodman007 2006-10-24
  • 打赏
  • 举报
回复
好象,貌似,大概,可能……模板函数要这样调用嘀:

a( ia, ia+9 ); ==> a<int>( ia, ia+9 );
a( ib, ib+6 ); ==> a<double>( ib, ib+6 );
a( ic, ic+4 ); ==> a<string>( ic, ic+4 );

( 好久没碰 C 了,记不清楚了 )


Benny_ywb 2006-10-24
  • 打赏
  • 举报
回复
恩,我一定端正态度....
Jokar 2006-10-24
  • 打赏
  • 举报
回复
正解,我真SB,书都看错
-------------
没什么~ 不过要学会自己找出这种低级错误:)
ckt 2006-10-24
  • 打赏
  • 举报
回复
循环改成 for ( ; pBegin != pEnd ;)
Jokar 2006-10-24
  • 打赏
  • 举报
回复
ia + 9 ??? 好像应该是 加 8 吧
------------------
+9 是为了起到哨兵的作用:)
Benny_ywb 2006-10-24
  • 打赏
  • 举报
回复
for ( pBegin != pEnd ) ------> for ( ;pBegin != pEnd; ) 或者 while ( pBegin != pEnd )


正解,我真SB,书都看错
Benny_ywb 2006-10-24
  • 打赏
  • 举报
回复
ia + 9 ??? 好像应该是 加 8 吧

我要遍历数组..
Jokar 2006-10-24
  • 打赏
  • 举报
回复
for ( pBegin != pEnd ) ------> for ( ;pBegin != pEnd; ) 或者 while ( pBegin != pEnd )

---------------
life_good 2006-10-24
  • 打赏
  • 举报
回复
ia + 9 ??? 好像应该是 加 8 吧

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧