错误代码 = 0x80070002 (MS Visual Studio) C++ 用于从一个关键元素搜索三元组数据
Error code = 0x80070002 (MS Visual Studio) C++ for searching triplet data from one key element
enter image description here
例如,如何找到具有一个元素的映射三元组对
(4,(?,?))
所以我知道 int 4 -> 我怎么能找到它,因为我得到了太多的错误,并且花了四个小时寻找可能的解决方案来用那个键过滤坐标。
int k = *min_element(min1.begin(), min1.end());
auto it = myninja.begin();
it = find(myninja.begin(), myninja.end(), k);
for (it = myninja.begin(); it != myninja.end(); it++) {
p.row= (it->second).first;
p.col = (it->second).second;
}
这些是我的声明
vector <pair<int, pair<int, int> > > myninja;
vector <int> min1;
这就是我要输出 A* 的最小值 -> 目标最小范围的 f 值
int k = *min_element(min1.begin(), min1.end());
为了保持实际值,我想用 f 的最小值更新起点 -> 所以我想给出点 (x,y) 所以我想
vector <pair<int, pair<int, int> > > myninja;
会是最好的,但我总是想找出它来自哪个 f(n) 值 -> iterator/loop 中的错误或者它显示错误代码
我想我来自 find 函数,因为他可能无法处理 int k(我想搜索我的观点)
(F 值,(x 坐标,y 坐标)
这也不起作用
int k = *min_element(min1.begin(), min1.end());
auto result = std::find_if(myninja.begin(),myninja.end(),[k](const auto& mo){return mo.second == val; });
//RETURN VARIABLE IF FOUND
if (result != myninja.end())
int foundkey = (result->second).first;
int s = myninja.size();
int j = min1.size();
for (int i = 0; i < s; i++)
{
min1.push_back(myninja[i].first);
}
int mic = min1[0];
for (int i = 0; i <j; i++)
{
if (min1[i] < mic)
mic = min1[i];
}
cout << mic;
for (int i = 0; i < s; i++)
{
if (myninja[i].first == mic) {
// "first" and "second" are used to access
// 1st and 2nd element of pair respectively
p.row = myninja[i].second.first;
p.col = myninja[i].second.second;
q.push(objects(p.row, p.col, p.dist+1));
cout << "Min Punkt";
cout << " x " << p.row << " y " << p.col;
cout << "Distanz";
cout << p.dist;
visit[p.row][p.col] = true;
break;
}
}
// 最后它起作用了,但它现在用最小的 f 一次又一次地保存同一个点。
// 我正在努力删除或将其设置为真,以便在计算后 -> 获得其他 f 最小值的新点,直到目标。
enter image description here
例如,如何找到具有一个元素的映射三元组对 (4,(?,?)) 所以我知道 int 4 -> 我怎么能找到它,因为我得到了太多的错误,并且花了四个小时寻找可能的解决方案来用那个键过滤坐标。
int k = *min_element(min1.begin(), min1.end());
auto it = myninja.begin();
it = find(myninja.begin(), myninja.end(), k);
for (it = myninja.begin(); it != myninja.end(); it++) {
p.row= (it->second).first;
p.col = (it->second).second;
}
这些是我的声明
vector <pair<int, pair<int, int> > > myninja;
vector <int> min1;
这就是我要输出 A* 的最小值 -> 目标最小范围的 f 值
int k = *min_element(min1.begin(), min1.end());
为了保持实际值,我想用 f 的最小值更新起点 -> 所以我想给出点 (x,y) 所以我想
vector <pair<int, pair<int, int> > > myninja;
会是最好的,但我总是想找出它来自哪个 f(n) 值 -> iterator/loop 中的错误或者它显示错误代码
我想我来自 find 函数,因为他可能无法处理 int k(我想搜索我的观点)
(F 值,(x 坐标,y 坐标)
这也不起作用
int k = *min_element(min1.begin(), min1.end());
auto result = std::find_if(myninja.begin(),myninja.end(),[k](const auto& mo){return mo.second == val; });
//RETURN VARIABLE IF FOUND
if (result != myninja.end())
int foundkey = (result->second).first;
int s = myninja.size();
int j = min1.size();
for (int i = 0; i < s; i++)
{
min1.push_back(myninja[i].first);
}
int mic = min1[0];
for (int i = 0; i <j; i++)
{
if (min1[i] < mic)
mic = min1[i];
}
cout << mic;
for (int i = 0; i < s; i++)
{
if (myninja[i].first == mic) {
// "first" and "second" are used to access
// 1st and 2nd element of pair respectively
p.row = myninja[i].second.first;
p.col = myninja[i].second.second;
q.push(objects(p.row, p.col, p.dist+1));
cout << "Min Punkt";
cout << " x " << p.row << " y " << p.col;
cout << "Distanz";
cout << p.dist;
visit[p.row][p.col] = true;
break;
}
}
// 最后它起作用了,但它现在用最小的 f 一次又一次地保存同一个点。 // 我正在努力删除或将其设置为真,以便在计算后 -> 获得其他 f 最小值的新点,直到目标。