В настоящее время я пытаюсь выучить c ++, и я пытаюсь создать приложение для "охоты на козла", которое поможет мне учиться. У меня возникают проблемы с назначением лямбда-функции unordered_map в C ++. Моя IDE дает мне ошибку
«Несоответствие типов параметров: несовместимые типы указателей 'node * const' и 'node () (node *)'"
#include <iostream>
#include <string>
#include <unordered_map>
class node{
public:
int title;
node *adj[8];
std::string desc;
}
...
bool shoot(node *player){
std::unordered_map<std::string, node*> adjLambda; //lambda to return *left, *up, etc
for (int i; i < 8; i++){
if (player->adj[i]->title != player->title){ //empty adjacencies points towards self
adjLambda.insert(std::pair <std::string, node*> (std::to_string(player->adj[i]->title), [](node *n) { return n->adj[i];}));
}
}
}