Ik weet dan Visual C++ niet geheel ANSI C++ is, maar ik heb nu een probleempje wat ik niet helemaal snap.
Ik heb een klasse Date hierbinnen heb ik een methode compareTo. Hierbij wil ik een parameter dusdanig gebruiken dat call by constant reference wordt gebruikt.
De methode ziet er dus als volgt uit:
Als ik deze code compileer krijg ik de volgende foutmelding:
Kijk ik ergens overheen of is dit gewoon 1 van de onderwerpen die Visual C++ niet ondersteund
Ik heb een klasse Date hierbinnen heb ik een methode compareTo. Hierbij wil ik een parameter dusdanig gebruiken dat call by constant reference wordt gebruikt.
De methode ziet er dus als volgt uit:
code:
1
2
3
4
5
6
7
| int Date::compareTo(const Date& aDate)
{
int d = aDate.day();
int m = aDate.month();
int y = aDate.year();
//hier verschil berekenen.
} |
Als ik deze code compileer krijg ik de volgende foutmelding:
code:
1
2
3
4
5
6
7
8
9
| error C2662: 'day' : cannot convert 'this' pointer from 'const class Date' to 'class Date &'
Conversion loses qualifiers
error C2662: 'month' : cannot convert 'this' pointer from 'const class Date' to 'class Date &'
Conversion loses qualifiers
error C2662: 'year' : cannot convert 'this' pointer from 'const class Date' to 'class Date &'
Conversion loses qualifiers
Error executing cl.exe.
CppOef.exe - 3 error(s), 0 warning(s) |
Kijk ik ergens overheen of is dit gewoon 1 van de onderwerpen die Visual C++ niet ondersteund
Wat niet kan is nog nooit gebeurd