У меня есть некоторые проблемы с g ++ и процессом компиляции для программы на C / C ++, которая использует библиотеки Bluetooth под Ubuntu.
Если я использую gcc, он работает без предупреждения;напротив, если я использую g ++, я получаю это предупреждение:
предупреждение: получение временного адреса
, даже если программа компилируется нормально и работает.
Строки, сообщающие об ошибке:
bdaddr_t *inquiry(){
// do some stuff..
bacpy(&result[mote++], BDADDR_ANY);
return result;
}
//...
void zeemote(){
while (bacmp(bdaddr, BDADDR_ANY)){
/..
}
}
В обоих случаях задействован BDADDR_ANY.
Как я могу устранить это предупреждение?
BDADDR_ANY isопределяется в bluetooth.h как:
/* BD Address */
typedef struct {
uint8_t b[6];
} __attribute__((packed)) bdaddr_t;
#define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}})