gdb:找不到操作符[]
gdb: Could not find operator[]
我正在开发代码块,我有以下内容:
struct intersectionData_t
{
unsigned int idxOfBlob;
unsigned int idxOfRoad;
ofPoint xPt; //interesection (cross) point
};
typedef vector<intersectionData_t> plineXD_t;
vector<plineXD_t> plinesXData;
基本上,每个折线都有一个在plineXD_t
中注册的相交向量。那么plinesXData
就是所有折线的向量。
在我的实现:
plineXD_t xData = findIntersectionData( trackedBlob , origRoads[i] );
if ( !xData.empty() )
plinesXData.push_back( xData );
我从plinesXData[i]
中得到一些奇怪的值,所以我试图看看在xData
中生成了什么。
xData[0] : Could not find operator[].
时如果我尝试plinesXData[I][0].
编辑:xData.size()
不返回数字(watch字段为空)。
EDIT2: findintertiondata用2条折线之间的所有交点xPt
填充向量intersectionData_t。它还存储了每个折线的交叉点前的索引idxOfRoad & idxOfBlob
,以便快速访问。
path::plineXD_t path::findIntersectionData(
const ofPolyline& trackedBlob , const ofPolyline& road)
{
plineXD_t xD;
//for all line segments of path...
for (unsigned int i = 0 ; i < road.size()-1 ; i++)
{
//...test all line segs of trackedBlob for intersections
for (unsigned int j = 0 ; j < trackedBlob.size()-1 ; j++)
{
ofPoint intersectionPoint = ofPoint(0,0);
if (ofLineSegmentIntersection(road[i] , road[i+1] , trackedBlob[j] , trackedBlob[j+1] , intersectionPoint ))
{
struct intersectionData_t id;
id.idxOfRoad = i;
id.idxOfBlob = j;
id.xPt = intersectionPoint;
xD.push_back( id );
}
}
}
return xD;
}
这是什么?我怎么能看到xData向量的值?
似乎真的T1 operator[](T2 smth) {...}
没有在结构plineXD_t
中定义,但您试图访问它。
如果您显示所有参与结构的完整代码会更好
不确定你的函数findIntersectionData(trackedBlob, origRoads[i])实际上返回一个矢量,因为你没有显示完整的代码。然而,对于一个向量,你应该能够简单地通过使用at()成员函数来读取值。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 设置 Visual Studio for MPI: 找不到标识符错误
- "assimp/config.h"找不到,但它在文件夹中
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- C++系统找不到指定的文件错误
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- vcpkg 添加新库,但找不到
- gdb找不到操作符[]
- gdb:找不到操作符[]