You need to look into forward declarations of test 2 so that the program will know about test 2 and can therefore compile the blu function, without you having to declare all of test 2, which includes a function taking a test 1. For more information, just google c++ forward declarations.