- The "discards qualifiers" error is difficult to decipher. The error reads as follows:
error: passing 'const Example' as 'this' argument of 'int Example::getValue()' discards qualifiers
- Using this metaphor the contract requires a const but it is not being given what it was promised.
-
- To fix this, you have to make the subcontractor agree to the same terms, to make the subcontractor const as well.
- The necessary fix to the Java example below is to make the accessor method, getValue, a
const
method. - Using this metaphor, isOddValue is the contractor, and getValue is the subcontractor who has not signed the appropriate contract.
- Example code:
class Example { public: Example(); int getValue() { return myValue;}; bool isOddValue() const; private: int myValue; }; bool Example::isOddValue() const { return (getValue() % 10 == 0); }