Проблема в C ++: ошибка: ожидаемое первичное выражение перед '.' знак - PullRequest
0 голосов
/ 20 апреля 2020

В этой функции-члене класса transcation я использую функцию «расстояния» из другой программы cpp, и эта функция также является членом класса «GPS_DD». Мой код выглядит следующим образом:

double

Transaction::getDistance()
`{ return GPS_DD.distance(tr_src_where, tr_dst_where);}                                                                                                        

Эта функция вычисляет расстояние в двух точках от источника до места назначения.

Затем я получаю сообщение об ошибке и понятия не имею, применить эту функцию.

Это функция «расстояния» из класса «GPS_DD»:

double
GPS_DD::distance(GPS_DD& another)  {return GeoDataSource_distance(this->latitude, this->longtitude, 
 another.latitude, another.longtitude, 'M');

}

Независимо от «GeoDataSource_distance», какой код должен быть реализован для применения в функции "getDistance"?

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Вам нужен экземпляр класса GPS_DD или преобразование GPS_DD :: distance в методе stati c (но вы не можете использовать его внутри метода stati c).

например: вместо :

Transaction::getDistance()
{return GPS_DD.distance(tr_src_where, tr_dst_where);}    

вам нужно создать экземпляр класса GPS_DD следующим образом:

Transaction::getDistance()
{ GPS_DD anInstanceOfGPS_DD;
  return anInstanceOfGPS_DD.distance(tr_src_where, tr_dst_where);} 
0 голосов
/ 20 апреля 2020

Из названий довольно ясно, что вы ищете

double Transaction::getDistance()
{
    return tr_src_where.distance(tr_dst_where);
}

для вычисления расстояния между tr_src_where и tr_dst_where.

Правильный синтаксис для вызова метод объекта довольно прост c. Время пересмотреть основы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...