I am currently in the progress of doing a competitive programming problem, but I am encountering this error at compilation.
I tried to make a function int search(int C1, int C2, int C3, int C4, string op_string)
to do a complete search.
#include <bits/stdc++.h>
using namespace std;
// Operations Search
int search(int C1, int C2, int C3, int C4, string op_string) {
if (op_string.length() == 3) {
return 0;
}
search(C1, C2, C3, C4, op_string + '+');
search(C1, C2, C3, C4, op_string + '-');
search(C1, C2, C3, C4, op_string + '*');
search(C1, C2, C3, C4, op_string + '/');
}
// Main Function
int main() {
// Test Cases
int N;
cin >> N;
while (N--) {
int C1, C2, C3, C4;
cin >> C1 >> C2 >> C3 >> C4;
cout << min({search(C1, C2, C3, C4, "+"),
search(C1, C2, C3, C4, "-"),
search(C1, C2, C3, C4, "*"),
search(C1, C2, C3, C4, "/")}) << endl;
}
}
Compiler Output:
====================[ Build | C___Testing_Environment | Debug ]=================
C:\Users\maxli\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\232.8660.186\bin\cmake\win\x64\bin\cmake.exe --build C:\Users\maxli\CLionProjects\C++_Testing_Environment\cmake-build-debug --target C___Testing_Environment -j 10
[1/2] Building CXX object CMakeFiles/C___Testing_Environment.dir/main.cpp.obj
FAILED: CMakeFiles/C___Testing_Environment.dir/main.cpp.obj
C:\Users\maxli\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\232.8660.186\bin\mingw\bin\g++.exe -g -fdiagnostics-color=always -MD -MT CMakeFiles/C___Testing_Environment.dir/main.cpp.obj -MF CMakeFiles\C___Testing_Environment.dir\main.cpp.obj.d -o CMakeFiles/C___Testing_Environment.dir/main.cpp.obj -c C:/Users/maxli/CLionProjects/C++_Testing_Environment/main.cpp
In file included from C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/algorithm:60,
from C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32/bits/stdc++.h:51,
from C:/Users/maxli/CLionProjects/C++_Testing_Environment/main.cpp:2:
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h: In instantiation of '_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = int; _Predicate = __gnu_cxx::__ops::_Iter_comp_to_iter<const char*, int>]':
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algo.h:159:23: required from '_ForwardIterator1 std::__search(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate) [with _ForwardIterator1 = int; _ForwardIterator2 = int; _BinaryPredicate = __gnu_cxx::__ops::_Iter_comp_iter<const char*>]'
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algo.h:4191:27: required from '_FIter1 std::search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate) [with _FIter1 = int; _FIter2 = int; _BinaryPredicate = const char*]'
C:/Users/maxli/CLionProjects/C++_Testing_Environment/main.cpp:24:28: required from here
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h:2118:48: error: no matching function for call to '__iterator_category(int&)'
2118 | std::__iterator_category(__first));
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h:65:
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h:239:5: note: candidate: 'template<class _Iter> constexpr typename std::iterator_traits< <template-parameter-1-1> >::iterator_category std::__iterator_category(const _Iter&)'
239 | __iterator_category(const _Iter&)
| ^~~~~~~~~~~~~~~~~~~
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h:239:5: note: template argument deduction/substitution failed:
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h: In substitution of 'template<class _Iter> constexpr typename std::iterator_traits< <template-parameter-1-1> >::iterator_category std::__iterator_category(const _Iter&) [with _Iter = int]':
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h:2118:34: required from '_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = int; _Predicate = __gnu_cxx::__ops::_Iter_comp_to_iter<const char*, int>]'
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algo.h:159:23: required from '_ForwardIterator1 std::__search(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate) [with _ForwardIterator1 = int; _ForwardIterator2 = int; _BinaryPredicate = __gnu_cxx::__ops::_Iter_comp_iter<const char*>]'
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algo.h:4191:27: required from '_FIter1 std::search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate) [with _FIter1 = int; _FIter2 = int; _BinaryPredicate = const char*]'
C:/Users/maxli/CLionProjects/C++_Testing_Environment/main.cpp:24:28: required from here
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_iterator_base_types.h:239:5: error: no type named 'iterator_category' in 'struct std::iterator_traits<int>'
In file included from C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algobase.h:71:
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_comp_iter<_Compare>::operator()(_Iterator1, _Iterator2) [with _Iterator1 = int; _Iterator2 = int; _Compare = const char*]':
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algo.h:179:22: required from '_ForwardIterator1 std::__search(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate) [with _ForwardIterator1 = int; _ForwardIterator2 = int; _BinaryPredicate = __gnu_cxx::__ops::_Iter_comp_iter<const char*>]'
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/stl_algo.h:4191:27: required from '_FIter1 std::search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate) [with _FIter1 = int; _FIter2 = int; _BinaryPredicate = const char*]'
C:/Users/maxli/CLionProjects/C++_Testing_Environment/main.cpp:24:28: required from here
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h:158:31: error: invalid type argument of unary '*' (have 'int')
158 | { return bool(_M_comp(*__it1, *__it2)); }
| ^~~~~~
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h:158:39: error: invalid type argument of unary '*' (have 'int')
158 | { return bool(_M_comp(*__it1, *__it2)); }
| ^~~~~~
C:/Users/maxli/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.8660.186/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/predefined_ops.h:158:30: error: expression cannot be used as a function
158 | { return bool(_M_comp(*__it1, *__it2)); }
| ~~~~~~~^~~~~~~~~~~~~~~~
C:/Users/maxli/CLionProjects/C++_Testing_Environment/main.cpp: In function 'int search(int, int, int, int, std::string)':
C:/Users/maxli/CLionProjects/C++_Testing_Environment/main.cpp:13:11: warning: control reaches end of non-void function [-Wreturn-type]
13 | search(C1, C2, C3, C4, op_string + '/');
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.