C / C ++ Advertencia: dirección de temporal con la biblioteca BDADDR_ANY Bluetooth

Tengo algunos problemas con g ++ y el proceso de compilación para un programa C / C ++ que usa bibliotecas Bluetooth en Ubuntu.

Si uso gcc, funciona bien sin advertencia; por el contrario, si uso g ++ recibo esta advertencia:

warning: tomar la dirección de @ tempor

incluso si el programa se compila bien y funciona.

Las líneas involucradas que informan el error son:

        bdaddr_t *inquiry(){
       // do some stuff.. 
    bacpy(&result[mote++], BDADDR_ANY);
    return result;
}
//...
void zeemote(){
while (bacmp(bdaddr, BDADDR_ANY)){
/..
}
}

En ambos casos, BDADDR_ANY está involucrado.

¿Cómo puedo resolver esta advertencia?

BDADDR_ANY se define en 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}})

Respuestas a la pregunta(4)

Su respuesta a la pregunta