У меня есть объект publi c, который называется «Азимут азимут (..)». Я хочу передать этот объект другому объекту, который называется «Сканирование сканера (азимут)», таким образом, объект сканирования может легко использовать объект азимута. Конструктор «сканера» сохраняет адрес азимутального объекта в указателе. Сканирующий объект вызывает функцию, подобную scan.scanRoom (). Доступ к объекту азимута возможен, но присвоенные ему переменные недопустимы (чрезвычайно высокие значения). Чем это вызвано? И как мне решить эту проблему?
код:
main:
Azimuth azimuth(5,6,2000,7);
ScanAngles scan(sensor,azimuth,elevation);
ScanAngles:
class ScanAngles
{
private:
Sensor* sensor;
Azimuth *azimuth;
Elevation *elevation;
public:
ScanAngles(Sensor sensor , Azimuth azimuth, Elevation elevation)
{
this->sensor = &sensor;
this->azimuth = &azimuth;
this->elevation = &elevation;
}
Функция:
void ScanAngles::getFullScan(int stepWidth, int stepHeight)
{
Serial.print(this->azimuth->getRotation());
}
Некоторые картинки отладчика:
Значения в основном
Значения при вызове в функции
Спасибо за помощь и время!