Aviso C / C ++: endereço temporário na biblioteca Bluetooth BDADDR_ANY
Estou tendo alguns problemas com o g ++ e o processo de compilação de um programa C / C ++ que usa bibliotecas Bluetooth no Ubunt
Se eu usar o gcc, ele funciona bem sem aviso; pelo contrário, se eu usar o g ++, recebo este aviso:
warning: tomando endereço de temporários
mesmo se o programa compilar bem e funciona
As linhas envolvidas que relatam o erro são:
bdaddr_t *inquiry(){
// do some stuff..
bacpy(&result[mote++], BDADDR_ANY);
return result;
}
//...
void zeemote(){
while (bacmp(bdaddr, BDADDR_ANY)){
/..
}
}
Nos dois casos, o BDADDR_ANY está envolvid
Como posso resolver este aviso?
BDADDR_ANY é definido em bluetooth.h como:
/* BD Address */
typedef struct {
uint8_t b[6];
} __attribute__((packed)) bdaddr_t;
#define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}})