type & getReference() const doesn't work.
The following code doesn't compile with gcc 2.96 for linux.
The error I receive is :
../src/text.cxx: In method 'int & Base::getNumber() const':
../src/text.cxx:line7: could not convert 'this->Base::number' to 'int&'
The problem vanish if the getNumber method is declared to return const:
const int & getNumber() const;
Is there a bug in gcc or I miss something?
Best Regards,
Cristian
include <iostream>
class Base {
public:
Base();
public:
int number;
void setNumber(int number);
int & getNumber()const ;
};
using std::cout;
Base::Base() {
cout << "\n\n\n\ncalling the ctrctor." << endl;
}
int & Base::getNumber()const {
return number;
}
void Base::setNumber(int number) {
this->number=number;
}
int main() {
Base * pBase = new Base();
pBase->setNumber(8);
cout << "getNumber() called: " << pBase->getNumber() << endl;
return 0;
}