Borderou de evaluare (job #1846508)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 13 ianuarie 2017 04:29:05
Problema 2sah Status done
Runda Arhiva de probleme Compilator cpp | Vezi sursa
Scor 0

Raport evaluator

Eroare de compilare: user.cpp: In lambda function: user.cpp:51:21: error: no matching function for call to ‘mult(mat<3ul, 3ul>&, mat<3ul, 3ul>&)’ return mult(a, b); }, n - k + 1, neutral)[2][2] << endl; } ^ user.cpp:51:21: note: candidate is: user.cpp:20:11: note: template<long unsigned int N, long unsigned int M, long unsigned int P> mat<N, P> mult(mat<N, M>&, mat<M, P>&) mat<N, P> mult(const mat<N, M>& a, const mat<M, P>& b){ ^ user.cpp:20:11: note: template argument deduction/substitution failed: user.cpp:51:21: note: mismatched types ‘long unsigned int’ and ‘#‘integer_cst’ not supported by dump_type#<type error>’ return mult(a, b); }, n - k + 1, neutral)[2][2] << endl; } ^ user.cpp:51:21: note: ‘mat<3ul, 3ul> {aka const std::array<std::array<long long int, 3u>, 3u>}’ is not derived from ‘mat<N, M>’ user.cpp: In instantiation of ‘T fast_expon(T, F, ll, T) [with T = std::array<std::array<long long int, 3u>, 3u>; F = main()::__lambda5; ll = long long int]’: user.cpp:51:45: required from here user.cpp:11:19: error: no match for ‘operator=’ (operand types are ‘std::array<std::array<long long int, 3u>, 3u>’ and ‘void’) if(e%2) neutral = mult(neutral, baza); ^ user.cpp:11:19: note: candidates are: In file included from /usr/include/c++/4.8/tuple:39:0, from /usr/include/c++/4.8/functional:55, from /usr/include/c++/4.8/bits/stl_algo.h:66, from /usr/include/c++/4.8/algorithm:62, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from user.cpp:1: /usr/include/c++/4.8/array:81:12: note: std::array<std::array<long long int, 3u>, 3u>& std::array<std::array<long long int, 3u>, 3u>::operator=(const std::array<std::array<long long int, 3u>, 3u>&) struct array ^ /usr/include/c++/4.8/array:81:12: note: no known conversion for argument 1 from ‘void’ to ‘const std::array<std::array<long long int, 3u>, 3u>&’ /usr/include/c++/4.8/array:81:12: note: std::array<std::array<long long int, 3u>, 3u>& std::array<std::array<long long int, 3u>, 3u>::operator=(std::array<std::array<long long int, 3u>, 3u>&&) /usr/include/c++/4.8/array:81:12: note: no known conversion for argument 1 from ‘void’ to ‘std::array<std::array<long long int, 3u>, 3u>&&’ user.cpp:12:8: error: no match for ‘operator=’ (operand types are ‘std::array<std::array<long long int, 3u>, 3u>’ and ‘void’) baza = mult(baza, baza); ^ user.cpp:12:8: note: candidates are: In file included from /usr/include/c++/4.8/tuple:39:0, from /usr/include/c++/4.8/functional:55, from /usr/include/c++/4.8/bits/stl_algo.h:66, from /usr/include/c++/4.8/algorithm:62, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from user.cpp:1: /usr/include/c++/4.8/array:81:12: note: std::array<std::array<long long int, 3u>, 3u>& std::array<std::array<long long int, 3u>, 3u>::operator=(const std::array<std::array<long long int, 3u>, 3u>&) struct array ^ /usr/include/c++/4.8/array:81:12: note: no known conversion for argument 1 from ‘void’ to ‘const std::array<std::array<long long int, 3u>, 3u>&’ /usr/include/c++/4.8/array:81:12: note: std::array<std::array<long long int, 3u>, 3u>& std::array<std::array<long long int, 3u>, 3u>::operator=(std::array<std::array<long long int, 3u>, 3u>&&) /usr/include/c++/4.8/array:81:12: note: no known conversion for argument 1 from ‘void’ to ‘std::array<std::array<long long int, 3u>, 3u>&&’

Ceva nu functioneaza?