home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / snip9707.zip / CAST.H < prev    next >
C/C++ Source or Header  |  1997-07-05  |  1KB  |  31 lines

  1. /* +++Date last modified: 05-Jul-1997 */
  2.  
  3. /*
  4. **  public domain demo by Bob Stout
  5. */
  6.  
  7. #ifndef CAST__H
  8. #define CAST__H
  9.  
  10. #define CAST(new_type,old_object) (*((new_type *)(&(old_object))))
  11.  
  12. #if 0
  13. *************************************************************************
  14. *                                                                       *
  15. *       /* Example of CAST macro at work        */                      *
  16. *                                                                       *
  17. *       union {                                                         *
  18. *               char    ch[4];                                          *
  19. *               int     i[2];                                           *
  20. *       } my_union;                                                     *
  21. *                                                                       *
  22. *       long    longvar;                                                *
  23. *                                                                       *
  24. *               longvar = (long)my_union;       /* Illegal cast */      *
  25. *               longvar = CAST(long, my_union); /* Legal cast   */      *
  26. *                                                                       *
  27. *************************************************************************
  28. #endif  /* 0 */
  29.  
  30. #endif /* CAST__H */
  31.