Я пытаюсь использовать функцию оценки для своего ветвления в Gecode. В MPG, Руководстве по Gecode, указан пример функции качества и то, как передать ее в разветвление. Но я не могу понять, куда поместить функцию. Должен ли он быть внутри сценария или снаружи? Прямо сейчас я поместил его рядом с функцией копирования и т. д. Я не могу найти ни одного примера кода, где кто-то использует функцию оценки.
Я получаю следующую ошибку:
program.cpp(247): error C2059: syntax error: '}'
program.cpp(247): error C2853: 'm': a non-static data member cannot have a type that contains 'auto'
program.cpp(259): fatal error C1004: unexpected end-of-file found
Это код, который я пробую:
// ...
branch(*this, workers, BOOL_VAR_MERIT_MIN(m), BOOL_VAL_MAX());
}
auto m = [](const Space& home, BoolVar x, int i) {
return i;
}
// ...
Я знаю, что глупо создавать функцию оценки, которая просто возвращает индекс, я просто пытаюсь заставить работать простейшую функцию оценки, прежде чем делать то, что хочу.