我有一些代码:
#include "NodesEdgesTriangles.h"
Triangles Chain_Triangulation( const ListLimitations& input_list_limitations )
{
Edges edges_of_planar_graph;
for ( Const_It_ListLimitations location = input_list_limitations.begin(); location != input_list_limitations.end(); ++location )
//ERROR LINE
edges_of_planar_graph.insert( edges_of_planar_graph.end(), location->begin(), location->end() );
}
Triangles chain_triangulation;
return chain_triangulation;
}
编译器给我错误:
错误C2839:无效的返回类型'std :: list< _Ty> * const *'用于重载'运算符 - >'
答案 0 :(得分:0)
变量input_list_limitations
是指向其他列表的指针列表。这意味着迭代器“指向”指针到列表,所以当你取消引用迭代器(使用一元*
或->
)时,你有一个指针,而不是一个实例。您需要进行双重引用才能调用begin
和end
函数,例如
(*location)->begin()
说明:
*location
取消引用迭代器,它为您提供指向std::list
的指针。然后->
运算符用于取消引用指针。