В книге C++ Primer Plus я вижу следующий пример:Является ли это опечатка в C++ Primer Plus (шестое издание)
auto mod3 = [](int x){return x % 3 == 0; } //<---- note no semicolon
conut1 = std::count_if(n1.begin(), n1.end(), mod3);
В моем собственном коде, я просто пытался использовать его следующим образом:
auto compareEntry = [](PCEntry* a, PCEntry* b) { return (a->getSize() < b->getSize()); }; //<--- semicolon
std::priority_queue< PCEntry*, std::vector<PCEntry*>, decltype(compareEntry) > sorted(compareEntry);
У меня были проблемы с этим кодом, пока я не добавил точку с запятой после лямбды после сообщения о переполнении стека.
Мой вопрос:
Является ли это ошибка в книге? Или я что-то упускаю. Это выглядит несовместимо со мной.
Только в случае, если: Книга: C++ Primer Plus (шестое издание) С. Прата страницы: 1189
Это опечатка в книге. –
Похоже, опечатка в книге. Там должен быть ';' в конце. – NathanOliver
@NathanOliver Спасибо, ребята. – Illia