fork download
  1. int main ()
  2. {
  3. int num = 10;
  4. int *pointer = #
  5. double *dp;
  6. const int *cp;
  7. cp = pointer; // GOOD
  8. // pointer = cp; // BAD needs conversion
  9. pointer = (int*)cp; // GOOD: c-style cast c-style cast fucks all
  10. // pointer = static_cast<int*>(cp); // BAD: static_cast
  11. pointer = const_cast<int*>(cp); // GOOD: const_cast
  12. // pointer = reinterpret_cast<int*>(cp); // BAD: reinterpret_cast casts away constness
  13.  
  14. // dp = pointer; // error: cannot convert ‘int*’ to ‘double*’ in assignment
  15. dp = (double*)pointer; // GOOD
  16. // dp = static_cast<double*>(pointer); // error: invalid static_cast from type ‘int*’ to type ‘double*’
  17. dp = reinterpret_cast<double*>(pointer); // GOOD
  18.  
  19. }
Success #stdin #stdout 0.02s 2720KB
stdin
Standard input is empty
stdout
Standard output is empty