Этот код компилируется и работает с предупреждением «неиспользуемая переменная i»:
for(auto [camera, i]: landmark->getObservations())
camerasToCounts[camera]++;
Я хочу игнорировать i, поэтому я заменил его на std::ignore
. Следующий код не компилируется:
...
#include <tuple>
...
for(auto [camera, std::ignore]: landmark->getObservations())
camerasToCounts[camera]++;
с этой ошибкой:
error: expected ‘]’ before ‘::’ token
и этим предупреждением:
warning: unused variable ‘std’ [-Wunused-variable]
, поскольку он не распознает стандартную запись:: ignore.
Некоторый контекст:
, поэтому gcc распознает std :: ignore, он не может сделать это только для диапазона.
Уже прочитали этот хороший вопрос и ответ о игнорировании в структурированных привязках.
Есть ли кто-то с подобной проблемой?
Спасибо!