visit函数不会调用帮帮忙

qjybch 2009-03-21 10:42:31
class SqQueue
{
protected:
int front,rear;
int elem[ MaxQueue_SIZE];
public:

void Traverse(void(*Visit)(int &));
}
void
SqQueue::Traverse(void(*visit)(int &))
{
for(int curPosition=front;curPosition!=rear;curPosition=(curPosition+1)%MaxQueue_SIZE)
{
(*visit)(elem[curPosition]);
}
}
//////简单写了些代码
void main()
{
主函数中想调用下这个函数访问队列中的元素,可是不会用,请哪位好心人帮一下

}
...全文
433 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltc_mouse 2009-03-21
  • 打赏
  • 举报
回复
lz应该先学习下函数指针相关的内容~
cyldf 2009-03-21
  • 打赏
  • 举报
回复
首先,没有构造函数,front,rear不能够初始化;

typedef void(*visitFunc)(int &)
void visitFunction(int &i)
{
cout<<i<<endl;//自己添加访问代码
}
visitFunc visit = visitFunction;

visit(elem[curPosition]);
  • 打赏
  • 举报
回复
好乱,void(*visit)(int &)) 这个函数指针,已经它的函数原型在哪里?
lingyin55 2009-03-21
  • 打赏
  • 举报
回复
不熟悉,可以查一下msdn
qjybch 2009-03-21
  • 打赏
  • 举报
回复
void print(int &e)
{
cout<<e<<endl;
}
void
SqQueue::Traverse(void(*visit)(int &e))
{
visit=print;
for(int curPosition=front;curPosition!=rear;curPosition=(curPosition+1)%MaxQueue_SIZE)
{
(*visit)(elem[curPosition]);
}
}
void main()
{
a.Traverse(print);/////自己不认真,谢谢大家关心
}

64,682

社区成员

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

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