You cannot apply binary and (&) operator on the types int and char *.
So your code is "similar" to this below:
#include <stdio.h>
int main()
{
char * myString = "test";
int i = 3;
if (i & myString) // main.c:7:11: error: invalid operands to binary & (have ‘int’ and ‘char *’)
printf("Hello World");
return 0;
}
How to fix this? Review your code, what you're doing is incorrect.
If you really want to apply a binary operation on a memory address, cast it to an (unsigned) int before.
If you want a more specific answer, you'll need to share your code.