为什么打印对象失败时出现“不匹配'运算符<<'”错误?

时间:2011-05-23 01:17:08

标签: c++ iostream

我创建了一个动态内存s_points,其类型为PointListPointList是整数值的向量。我通过从另一个数据列表中获取一些值来附加到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<<" ";}

请帮我理解这个错误。

1 个答案:

答案 0 :(得分:1)

错误不言而喻。您没有为operator<<()定义Number