Informix Error -4132
-4132 Incorrect base class name in base clause.
The program has declared a base class and has declared another class as DERIVED FROM that base class. In the definition of the constructor for the derived class, a base constructor clause specifies a call to a function that is NOT the base class constructor. Suppose a derived class is called "bread" and its base class is called "food"; if the constructor for loaf should have a definition that begins FUNCTION bread::bread(args1):food(args1). If it begins FUNCTION bread::bread(args1):beverage(args1), the error message appears.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4132 fires when a derived class's constructor base clause names a function that isn't the
actual base class's constructor — per the official guidance, if a class bread derives from
food, its constructor must call food(...), not some other class like beverage(...).
- A constructor's base clause calling a function that isn't the true base class's constructor, per the official guidance — the direct, only cause.
Solutions / Resolution
- Change the base clause to call the actual base class's constructor.
Examples
An incorrect base clause
CLASS bread DERIVED FROM food
FUNCTION bread(args1) : beverage(args1)
-- -4132: bread derives from food, not beverage
END FUNCTION
END CLASS
Corrected
CLASS bread DERIVED FROM food
FUNCTION bread(args1) : food(args1)
...
END FUNCTION
END CLASS
Diagnostic Checks
- Check the constructor's base clause against the class's actual
DERIVED FROMbase class, and correct the called function if they don't match.
Related Errors / Related Topics
- -4012 — "You can only specify a base clause for class constructors." A related base clause error, about the base clause only being valid on constructors at all, rather than naming the wrong base class.
A constructor's base clause calls a function that isn't the actual base class's constructor —
correct it to match the DERIVED FROM class.