繁体   English   中英

无法将unsigned int转换为unsigned int&(增强邻接迭代器指针)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM