You can, but you'll probably get a conversion warning and the result will be forced into a boolean range (in the case of int, zero is false and non-zero is true).
why would you want to return some integer instead of true/false? If bool is inappropriate for that function then just change the return type of the function.
yeah, the point of calling a boolean function aka bool is to call a function that will answer the question is this true or false... in your function you are asking function add whether a plus b does not equal zero.
if thats what you want to do then great if not change it to
int add( int a , int b ) < that is a function that returns an integer
bool add( int a, int b ) < a function that returns a boolean character aka true or false