Я пытаюсь реализовать эвристический разрыв в cpp. Вот подпись моей функции:
get_gap_heuristic(state_t *state, string direction)
Вот фрагмент кода в функции:
state_t goal_state;
queue<state_t> goal_states = get_goal_states();
int min_gap = -1;
int gap;
while (!goal_states.empty())
{
goal_state = goal_states.front();
goal_states.pop();
gap = get_gap(&state, goal_state);
где состояние - это параметр метода, как показано на подписи.
Когда я пытаюсь выполнить свой код, я получаю следующую ошибку:
a_star.cpp: In function ‘int get_gap_heuristic(state_t*, std::string)’:
a_star.cpp:73:41: error: cannot convert ‘state_t**’ to ‘state_t*’ for argument ‘1’ to ‘int get_gap(state_t*, state_t*)’
gap = get_gap(&state, goal_state);
^
make: *** [Makefile: 32: pancake.astar] Ошибка 1
Я пытался заменить goal_state всем, т. Е. :
- просто цель_стата
- & goal_state
- * goal_state.
безрезультатно. Любая помощь будет оценена.