C/C++ Compiler (cl.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
C2088
                                             Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
     Compiler error C2088
 
     'operator' : illegal for 'class-key'
 
     The specified operator was not defined for the class, structure,
     or union.
 
     This error can be eliminated by defining a conversion to convert
     the operands to the type for which the operator is defined.
     Alternatively, an overloaded conversion operator can be defined.
 
     An example of this error and two solutions are:
 
          class A
          {
          public:
             int i;
          } a;
          int i = 1 + a;       // this line causes the error
 
          class B
          {
          public:
             operator int() { return i; }
             int i;
          } b;
          int j = 1 + b;       // OK, uses conversion operator
 
          class C
          {
          public:
             int operator+( int j ) { return (j+i); }  // solution
             int i;
          } c;
          int k = c + 1;       // OK, uses overloaded operator+
          int i = 1 + c;       // still an error, no conversion
                               // operator defined for class C
 
     Note that the last line requires that a conversion operator be
     defined since overloaded operators cannot be defined for built-in
     types.
                                    -♦-