/ Vijos /

记录详情

Compile Error

/in/foo.cc: In function 'int main()':
/in/foo.cc:69:21: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
   69 |     auto egcd = [&](auto self, long long a, long long b, long long &x, long long &y) -> long long {
      |                     ^~~~
/in/foo.cc: In lambda function:
/in/foo.cc:72:27: error: 'self' cannot be used as a function
   72 |         long long g = self(self, b, a % b, x1, y1);
      |                       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:79:27: error: no match for call to '(main()::<lambda(int, long long int, long long int, long long int&, long long int&)>) (main()::<lambda(int, long long int, long long int, long long int&, long long int&)>&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&, int&, long long int&, long long int&)'
   79 |         long long g = egcd(egcd, primes[i], p, x, y);
      |                       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/in/foo.cc:69:17: note: candidate: 'main()::<lambda(int, long long int, long long int, long long int&, long long int&)>'
   69 |     auto egcd = [&](auto self, long long a, long long b, long long &x, long long &y) -> long long {
      |                 ^
/in/foo.cc:69:17: note:   no known conversion for argument 1 from 'main()::<lambda(int, long long int, long long int, long long int&, long long int&)>' to 'int'
/in/foo.cc:171:38: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
  171 |                                   [](auto &a, auto &b){ return a.first < b.first; });
      |                                      ^~~~
/in/foo.cc:171:47: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
  171 |                                   [](auto &a, auto &b){ return a.first < b.first; });
      |                                               ^~~~
/in/foo.cc: In lambda function:
/in/foo.cc:171:66: error: request for member 'first' in 'a', which is of non-class type 'int'
  171 |                                   [](auto &a, auto &b){ return a.first < b.first; });
      |                                                                  ^~~~~
/in/foo.cc:171:76: error: request for member 'first' in 'b', which is of non-class type 'int'
  171 |                                   [](auto &a, auto &b){ return a.first < b.first; });
      |                                                                            ^~~~~
In file included from /usr/include/c++/12/bits/stl_algobase.h:71,
                 from /usr/include/c++/12/string:50,
                 from /usr/include/c++/12/bits/locale_classes.h:40,
                 from /usr/include/c++/12/bits/ios_base.h:41,
                 from /usr/include/c++/12/ios:42,
                 from /usr/include/c++/12/ostream:38,
                 from /usr/include/c++/12/iostream:39,
                 from /in/foo.cc:1:
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Value = const std::pair<int, int>; _Compare = main()::<lambda(int&, int&)>]':
/usr/include/c++/12/bits/stl_algobase.h:1463:14:   required from '_ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Tp = pair<int, int>; _Compare = __gnu_cxx::__ops::_Iter_comp_val<main()::<lambda(int&, int&)> >]'
/usr/include/c++/12/bits/stl_algo.h:2004:32:   required from '_FIter std::lower_bound(_FIter, _FIter, const _Tp&, _Compare) [with _FIter = __gnu_cxx::__normal_iterator<pair<int, int>*, vector<pair<int, int> > >; _Tp = pair<int, int>; _Compare = main()::<lambda(int&, int&)>]'
/in/foo.cc:169:34:   required from here
/usr/include/c++/12/bits/predefined_ops.h:196:30: error: no match for call to '(main()::<lambda(int&, int&)>) (std::pair<int, int>&, const std::pair<int, int>&)'
  196 |         { return bool(_M_comp(*__it, __val)); }
      |                       ~~~~~~~^~~~~~~~~~~~~~
/in/foo.cc:171:35: note: candidate: 'main()::<lambda(int&, int&)>'
  171 |                                   [](auto &a, auto &b){ return a.first < b.first; });
      |                                   ^
/in/foo.cc:171:35: note:   no known conversion for argument 1 from 'std::pair<int, int>' to 'int&'

信息

递交者
类型
递交
题目
P2036 整数的素因子数
语言
C++
递交时间
2025-06-17 10:00:03
评测时间
2025-06-17 10:00:03
评测机
分数
0
总耗时
0ms
峰值内存
0 Bytes