I'm having some problems with g++ and the compiling process for a C/C++ program which use Bluetooth libraries under Ubuntu.
If i use gcc, it works fine with no warning; on the contrary, if i use g++ i get this warning:
warning: taking address of temporary
even if the program compiles fine and it works.
The involved lines reporting the error are:
bdaddr_t *inquiry(){
// do some stuff..
bacpy(&result[mote++], BDADDR_ANY);
return result;
}
//...
void zeemote(){
while (bacmp(bdaddr, BDADDR_ANY)){
/..
}
}
In both the cases, BDADDR_ANY is involved.
How can i solve this warning?
BDADDR_ANY is defined in bluetooth.h like:
/* BD Address */
typedef struct {
uint8_t b[6];
} __attribute__((packed)) bdaddr_t;
#define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}})