fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. typedef struct {
  5. int (*buffer_push_strategy)();
  6. } parser;
  7.  
  8. int buffer_push_strategy1()
  9. {}
  10. int buffer_push_strategy2()
  11. {}
  12.  
  13. int parser_init(parser* p) {
  14. if (true) {
  15. p->buffer_push_strategy = buffer_push_strategy1;
  16. }
  17. else {
  18. p->buffer_push_strategy = buffer_push_strategy2;
  19. }
  20. return 0;
  21. }
  22.  
  23. int main() {
  24.  
  25. parser p;
  26. parser_init(&p);
  27. if(p.buffer_push_strategy == buffer_push_strategy1)
  28. {
  29. std::cout << 1;
  30. }
  31. else
  32. {
  33. std::cout << 2;
  34. }
  35.  
  36. return 0;
  37. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
1