Предупреждение C / C ++: временный адрес с библиотекой Bluetooth BDADDR_ANY

У меня есть некоторые проблемы с 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 определяется в 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}})

Ответы на вопрос(2)

Ваш ответ на вопрос