home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 10620 < prev    next >
Encoding:
Text File  |  1996-08-05  |  1.1 KB  |  42 lines

  1. Path: news.rmii.com!usenet
  2. From: disch@aartronics.com
  3. Newsgroups: comp.lang.c++
  4. Subject: Boolean evaluation operator
  5. Date: 8 Mar 1996 22:35:32 GMT
  6. Organization: Aartronics Corp.
  7. Distribution: All
  8. Message-ID: <4hqcnk$aoj@natasha.rmii.com>
  9. Reply-To: disch@aartronics.com
  10. NNTP-Posting-Host: krypton.aartronics.com
  11. X-Newsreader: IBM NewsReader/2 v1.2
  12.  
  13. We have a Boolean class that contains the following operator:
  14.  
  15.     // Returns 1 if THIS Boolean Object is false, and 0 if THIS Boolean Object
  16.     //  is true.
  17.     int
  18.     Boolean::operator!(); // No referenced object; operates on THIS
  19.  
  20. When used in the following code fragment, compilation fails with the message
  21. "Error testbed.cpp 47: Illegal structure operation in function main()":
  22.  
  23.     Boolean     bTrue = T;
  24.     Boolean     bFalse = F;
  25.     if (!bFalse)
  26.     {
  27.         cout << "bFalse" << endl;
  28.     }
  29.     if (bTrue)
  30.     {
  31.         cout << "bTrue" << endl;
  32.     }
  33.  
  34. Is there a way to define an evaluation operator so that "if (bTrue)" will
  35. compile and execute as expected?
  36.  
  37. Any input would be greatly appreciated.
  38.  
  39. Bob Dischner
  40. Aartronics Corp
  41.  
  42.