Puede ser perfectamente un int , solo recuerda que en C y C++ 0 es false y cualquier valor distinto de 0 es true
prueba esto ...
#include <stdio.h>
void my_funci(int valor);
int main(){
int a = 1 , b = 0;
my_funci(a&&b);
my_funci(a||b);
my_funci(a&b);
my_funci(a|b);
}
void my_funci(int valor){
}