【发布时间】:2011-05-23 01:17:07
【问题描述】:
我创建了一个动态内存为s_points,其类型为PointList。 PointList 是整数值向量。我通过从另一个数据列表中获取一些值来附加到s_points。现在我想可视化我的s_points 以检查它是否已更新,但我有一个错误:
no match for 'operator<<' in 'std::cout << (&z)->__gnu_cxx::
__normal_iterator<_Iterator, _Container>::operator*
[with _Iterator = Number*, _Container = std::vector<Number,
std::allocator<Number> >]()'
这是我的代码:
MyPoints::iterator point;
PointList *s_points = new PointList;
for (point=my_points.begin();point!=my_points.end();point++){
s_points->push_back(point->Attribute(NumberTag));
}
PointList::iterator z;
for(z=s_points->begin();z!=s_points->end();z++){cout<<*z<<" ";}
请帮助我理解这个错误。
【问题讨论】:
-
请先纠正这个问题。你到底在这里问什么?你想做什么?
-
您需要告诉我们更多关于
PointList的信息。是typedef到vector<int>吗?我想不是。也许是vector<Number>?如果是这样,您需要告诉我们更多关于Number的信息。给我们更多的代码,尤其是你自己定义的所有类型。 -
@Aaron,是的,你在写。它是矢量。我使用 z->Number(),然后我得到了值。感谢您的建议