[英]Cannot convert unsigned int to unsigned int & (Boost adjacency iterator pointer)
我在Boost Graph Library中有一个图,并且有一个模板函数heapV
。 我将模板类声明为heapV <Graph::vertex_descriptor , Graph> lookAt;
所以类型名T应该是一个vertex_descriptor
。
我要调用一个函数int heapV<T,U>::getIndex(T &key)
。 我正在尝试myHeapV.getIndex(*vItr)
,但收到错误
无法从unsigned int转换为unsigned int&。
vItr
是来自BGL的邻接迭代器,并且邻接迭代器指针返回一个无符号的int。
如果有人需要,我将提供更多详细信息。
getIndex需要一个左值参数。
因此,您可能(应该知道,我不知道getIndex
函数确实可以)使用(临时)变量:
unsigned int key = *vItr;
int index = myHeapV.getIndex(key); // lvalue reference
如果代码是在MSVC上编译的,那是因为它使用了非标准的编译器扩展
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.