fork(2) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template <class T, class F = decltype(greater<T>())>
  5. class priority_queue {
  6. private:
  7. F comp;
  8.  
  9. public:
  10. priority_queue (F _comp) : comp(_comp) { }
  11. };
  12.  
  13. bool smaller(int a, int b) { return a < b; }
  14.  
  15. int main () {
  16. // priority_queue<int> PA(); // dziala
  17. priority_queue<int, decltype(smaller)> PB(smaller);
  18.  
  19. auto lessThan = [](const int& a, const int& b) { return a < b; };
  20. // priority_queue<int, decltype(lessThan)> PC(lessThan); // dziala
  21.  
  22. return 0;
  23. }
Compilation error #stdin compilation error #stdout 0s 3292KB
stdin
Standard input is empty
compilation info
prog.cpp: In instantiation of 'class priority_queue<int, bool(int, int)>':
prog.cpp:17:54:   required from here
prog.cpp:7:7: error: field 'priority_queue<int, bool(int, int)>::comp' invalidly declared function type
     F comp;
       ^
stdout
Standard output is empty