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}})

questionAnswers(4)

yourAnswerToTheQuestion