   bool CheckStairs(int *map, PLAYER *Player)
  my function:bool CheckStairs(int *map, PLAYER *Player){if (map[(Player->y*80) + (Player->x-1)]==2)return true;elsereturn false;}is used as such:if (CheckStairs(map,Player)==true){blahblah}and when i compile i get the error message:implicit declaration of function ''int CheckStairs(...)''Puzzeling because its a BOOL not INT...plus i just dont get whats wrong! Any ideas what is? 
  Did you prototype the function? Also, all a bool really is, is an int that can only have two values. 0 = false, 1 = true. ;  It almost certainly is because the file that uses the function can''t see any declaration of Checkstairs.  You probably need a function prototype like MetaCipher said.  The reason it says int   is because when the compiler can''t find any declaration of the function, it makes up its own, and this always has a return type of int   by default.And just for clarification, although internally a bool   does use 0 and 1 (integers) for false and true, it still is not an int  .  It is of type bool  .  The compiler does not consider them identical, although automatic conversions may occur from one to the other, depending on the situation. ;  This has led to more problems, the prototype:bool CheckStairs(int *map, PLAYER *Player);is right, right?but it has these two errors:type specifier ommited for paramiterAND:parse error before ''*''HELP? ;  Ok, now do you have PLAYER defined before that prototype? ;quote:Original post by mattd  Ok, now do you have PLAYER defined before that prototype?   OMG! It''s MattD in the beginners forum!! HIE! I will see you in TA tonight!!   -Earth is 98% full. Please delete anybody you can. 