Ik gebruik een class calc_date welke twee methods (waaronder local_sidereal_time) bevat die een struct als return-type hebben.
In een andere functie wil ik graag een bepaalde struct invullen door gebruik te maken van die method.
de struct loc_sidereal_time ziet er als volgt uit:
De method geeft een struct terug van precies hetzelfde type.
Bij compilatie krijg ik echt een foutmelding:
the 'operator =' function is unavailable
In mijn class is dit wel gegeven:
Waarom zeurt de compiler nou nog dat er geen 'operator =' functie beschikbaar is?
In een andere functie wil ik graag een bepaalde struct invullen door gebruik te maken van die method.
code:
1
2
3
| loc_sidereal_time = calc_date.local_sidereal_time(utc_hour, utc_minute, utc_second,
date_year, date_month, date_day,
location_degree, location_minute, location_second); |
de struct loc_sidereal_time ziet er als volgt uit:
code:
1
2
3
4
5
6
7
| struct lst
{
long lst_hour;
long lst_minute;
float lst_second;
double lst_fractional;
}; |
De method geeft een struct terug van precies hetzelfde type.
Bij compilatie krijg ik echt een foutmelding:
the 'operator =' function is unavailable
In mijn class is dit wel gegeven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| const calc_date_class& calc_date_class::operator= (const calc_date_class &s)
{
if (local_sidereal_time != s.local_sidereal_time)
{
lst_fractional = s.lst_fractional;
lst_hour = s.lst_hour;
lst_minute = s.lst_minute;
lst_second = s.lst_second;
}
if (day_of_week != s.day_of_week)
{
day_name = s.day_name;
dow_number = s.dow_number;
}
return *this;
} |
Waarom zeurt de compiler nou nog dat er geen 'operator =' functie beschikbaar is?