fork download
  1. class DM
  2. {
  3. public:
  4. int something;
  5. DM() : something(0) { }
  6. };
  7.  
  8. typedef DM * dm_t;
  9. typedef dm_t & dm_ref_t;
  10. typedef const DM * dm_const_t;
  11. typedef const dm_const_t & dm_cref_t;
  12.  
  13. int getSomething( dm_cref_t dm ) // CALLING getSomething DOES NOT COMPILE
  14. {
  15. return dm->something;
  16. }
  17.  
  18. int getSomethingAgain( dm_const_t dm )
  19. {
  20. return dm->something;
  21. }
  22.  
  23. int getSomethingOnceMore( dm_ref_t dm )
  24. {
  25. return dm->something;
  26. }
  27.  
  28. int main()
  29. {
  30. dm_t dm = new DM;
  31. getSomething( dm ); // COMPILER ERROR COMES FROM HERE
  32. getSomethingAgain( dm );
  33. getSomethingOnceMore( dm );
  34. return 0;
  35. }
Success #stdin #stdout 0s 3424KB
stdin
Standard input is empty
stdout
Standard output is empty