Borderou de evaluare (job #1846508)
Utilizator | 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?
- Citeste despre borderoul de evaluare.
- Daca tot nu e bine, contacteaza-ne pe forum !