Borderou de evaluare (job #2199680)

Utilizator georgeromanGeorge Roman georgeroman Data 28 aprilie 2018 17:57:51
Problema Algoritmul lui Dijkstra Status done
Runda Arhiva educationala Compilator cpp | Vezi sursa
Scor 0

Raport evaluator

Eroare de compilare: user.cpp: In function ‘int main()’: user.cpp:8:17: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14 #define COMP [](auto& lhs, auto& rhs) { return lhs.first > rhs.first; } ^ user.cpp:48:47: note: in expansion of macro ‘COMP’ std::pop_heap(costs.begin(), costs.end(), COMP); ^~~~ user.cpp:8:28: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14 #define COMP [](auto& lhs, auto& rhs) { return lhs.first > rhs.first; } ^ user.cpp:48:47: note: in expansion of macro ‘COMP’ std::pop_heap(costs.begin(), costs.end(), COMP); ^~~~ user.cpp: In lambda function: user.cpp:8:52: error: request for member ‘first’ in ‘lhs’, which is of non-class type ‘int’ #define COMP [](auto& lhs, auto& rhs) { return lhs.first > rhs.first; } ^ user.cpp:48:47: note: in expansion of macro ‘COMP’ std::pop_heap(costs.begin(), costs.end(), COMP); ^~~~ user.cpp:8:64: error: request for member ‘first’ in ‘rhs’, which is of non-class type ‘int’ #define COMP [](auto& lhs, auto& rhs) { return lhs.first > rhs.first; } ^ user.cpp:48:47: note: in expansion of macro ‘COMP’ std::pop_heap(costs.begin(), costs.end(), COMP); ^~~~ In file included from /usr/include/c++/6/bits/stl_algobase.h:71:0, from /usr/include/c++/6/algorithm:61, from user.cpp:1: /usr/include/c++/6/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = __gnu_cxx::__normal_iterator<std::pair<unsigned int, unsigned int>*, std::vector<std::pair<unsigned int, unsigned int> > >; _Iterator2 = __gnu_cxx::__normal_iterator<std::pair<unsigned int, unsigned int>*, std::vector<std::pair<unsigned int, unsigned int> > >; _Compare = main()::<lambda(int&, int&)>]’: /usr/include/c++/6/bits/stl_heap.h:217:14: required from ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<unsigned int, unsigned int>*, std::vector<std::pair<unsigned int, unsigned int> > >; _Distance = int; _Tp = std::pair<unsigned int, unsigned int>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/6/bits/stl_heap.h:247:25: required from ‘void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<unsigned int, unsigned int>*, std::vector<std::pair<unsigned int, unsigned int> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<main()::<lambda(int&, int&)> >]’ /usr/include/c++/6/bits/stl_heap.h:312:19: required from ‘void std::pop_heap(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<unsigned int, unsigned int>*, std::vector<std::pair<unsigned int, unsigned int> > >; _Compare = main()::<lambda(int&, int&)>]’ user.cpp:48:51: required from here /usr/include/c++/6/bits/predefined_ops.h:125:18: error: no match for call to ‘(main()::<lambda(int&, int&)>) (std::pair<unsigned int, unsigned int>&, std::pair<unsigned int, unsigned int>&)’ { return bool(_M_comp(*__it1, *__it2)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/6/bits/predefined_ops.h:125:18: note: candidate: void (*)(int&, int&) <conversion> /usr/include/c++/6/bits/predefined_ops.h:125:18: note: candidate expects 3 arguments, 3 provided user.cpp:8:37: note: candidate: main()::<lambda(int&, int&)> #define COMP [](auto& lhs, auto& rhs) { return lhs.first > rhs.first; } ^ user.cpp:48:47: note: in expansion of macro ‘COMP’ std::pop_heap(costs.begin(), costs.end(), COMP); ^~~~ user.cpp:8:37: note: no known conversion for argument 1 from ‘std::pair<unsigned int, unsigned int>’ to ‘int&’ #define COMP [](auto& lhs, auto& rhs) { return lhs.first > rhs.first; } ^ user.cpp:48:47: note: in expansion of macro ‘COMP’ std::pop_heap(costs.begin(), costs.end(), COMP);

Ceva nu functioneaza?