Передача объекта в функцию

mif_fm
Offline
Зарегистрирован: 28.07.2014
Здравствуйте! 

Помогите, к ночи туплю неимоверно:

Задача передавать в функцию объекты (например DallasTemperature) ...

#include "OneWire.h"
#include <DallasTemperature.h>

OneWire oneWire1(2);
OneWire oneWire2(3);

DallasTemperature Bus1(&oneWire1);
DallasTemperature Bus2(&oneWire2);

void setup()
{ 
  Serial.begin(9600); // устанавливаем передачу по последовательному портк
  Begin_BusOW(&Bus1);
  Begin_BusOW(&Bus2);
}

void  Begin_BusOW(DallasTemperature* BusOW )  
{
    BusOW.begin();
    //...
}

Понимаю, что сейчас пошлют учить матчасть, но может кто-то добрый тыкнет носом в косяк? 

Logik
Offline
Зарегистрирован: 05.08.2014

Подробней, что не так? Подозреваю что это известный пребабах препроцессора виринга или как там его. Он формирует обявления всех функций и выносит их в начал (почти начало). В результате если в функцию передается какой либо хитрый тип, то он встречается компилятору до обявления  и тот валится. Ищите в каталоге сборки проекта файлик с таким же именем как скетч, но расширение кажись cpp, откроете и сразу поймете.

Datak
Offline
Зарегистрирован: 09.10.2014
BusOW->begin();

Так как-то, если я правильно понял в чём проблема.
А если неправильно - извините, к ночи тоже соображаю не очень :)

mif_fm
Offline
Зарегистрирован: 28.07.2014

Вот спасиб.... Наставил на путь истинный. Действительно так. 

Нижайший поклон знатокам! Вопрос решен.