function pointer & memory selection

test_functionpointer:183: error: cannot convert 'bool*' to 'word*' in assignment

Would it make more sense if the message said:

test_functionpointer:183: error: will not convert 'bool*' to 'word*' in assignment

The conversion can be done, but you must do it explicitly. The compiler will not do it implicitly.

word is a data type that Microsoft invented. Unless you are running code on a Microsoft OS, don't use word.