fork download
  1. #include <iostream>
  2. //#include <utility>
  3. #include <tuple>
  4. #include <cstdlib>
  5. #include <vector>
  6.  
  7. int
  8. main (int argc, char *argv[])
  9. {
  10. typedef std::tuple<int,int> Tuple;
  11.  
  12. std::vector<Tuple> v = {
  13. Tuple(123,321),
  14. Tuple(999,111)
  15. };
  16.  
  17. typedef int& (*getter_type)(std::tuple<int,int>&);
  18. getter_type getter = std::rand() & 1 ? (getter_type)&std::get<0,int,int> : (getter_type)&std::get<1,int,int>;
  19.  
  20. for (auto& tup : v) {
  21. std::cerr << getter(tup) << " ";
  22. }
  23. }
  24.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main(int, char**)':
prog.cpp:20:18: error: expected initializer before ':' token
prog.cpp:23:1: error: expected primary-expression before '}' token
prog.cpp:23:1: error: expected ';' before '}' token
prog.cpp:23:1: error: expected primary-expression before '}' token
prog.cpp:23:1: error: expected ')' before '}' token
prog.cpp:23:1: error: expected primary-expression before '}' token
prog.cpp:23:1: error: expected ';' before '}' token
stdout
Standard output is empty