STL问题

验证码识别 2009-12-01 07:48:49

TPoint *pPt = ptSet.begin();


编译出错
No user-defined-conversion operator available that can perform this conversion,

要怎么做才能使上面便宜没有错误,还是不能这样用?

-------------------------------------------
//下面没有错误
TPoint tPt = *ptSet.begin();
set<TPoint>::iterator sPtIter = ptSet.begin();
--------------------------------------------
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fallening 2009-12-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 yzm888 的回复:]
C/C++ code
TPoint*pPt= ptSet.begin();

编译出错
  No user-defined-conversion operator available that can perform this conversion,

要怎么做才能使上面便宜没有错误,还是不能这样用?

-------------------------------------------
//下面没有错误
  TPoint tPt = *ptSet.begin();
  set <TPoint>::iterator sPtIter = ptSet.begin();
--------------------------------------------
[/Quote]

TPoint *tPt = &*ptSet.begin();
TPoint *tPt = &ptSet.front();



macrojj 2009-12-01
  • 打赏
  • 举报
回复
TPoint tPt = *ptSet.begin();

很明显 你的ptSet是一个装TPoint指针的Set
mstlq 2009-12-01
  • 打赏
  • 举报
回复
标准没有规定iterator一定要用指针去实现……
不能转换也是正常的……
WingForce 2009-12-01
  • 打赏
  • 举报
回复
TPoint *pPt = &(*ptSet.begin());
或者
TPoint *pPt = &ptSet[0]
或者
TPoint *pPt = &ptSet.front()
太乙 2009-12-01
  • 打赏
  • 举报
回复
ptSet如何定义?

64,642

社区成员

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

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