【发布时间】:2017-05-12 13:55:36
【问题描述】:
我看到了一个类似的问题here,但我没有得到我想要的东西。我有这样的东西
vector< vector<Point3f> > 3dpoints;
现在假设我只想找到 x 坐标的最大值,并想打印与其相关的所有其他值。我尝试如下,但它抛出了一些错误 request for member 'begin' ...
for( auto r = 0; r < 3dpoints.size(); r++ ) {
for( auto s = 0; s < 3dpoints[r].size(); s++ ) {
cout<< max_element( 3dpoints[r][s].x.begin(), 3dpoints[r][s].x.end() ) << endl;
}
}
我知道我缺少一些基本的东西,但我无法得到它。谁能帮我在 Point3f 中找到最大值?
【问题讨论】:
-
试过如下?那个线程是什么?您可以发布您尝试过的内容吗?
-
您能否也将错误消息添加到您的代码中? x 的数据类型是什么?我认为它可能是一个双精度或浮点数,所以它不会有一个开始......你能告诉我们你的 max_element 函数吗?
-
你必须提供特殊的比较功能才能只检查
x字段。 -
*max_element( 3dpoints[r][s].begin(), 3dpoints[r][s].end(), LessByX{} );带有适当的LessByXFunctor。 -
你用的是什么编译器?
3dpointsshould not be accepted as a valid identifier.