Originally Posted by eryn
I get information on the net that when a value is defined, it is only available in the file that defined it and the file that include the file that defined it. Is this means NUM is only available in BRBmemory.h and ProjectFunctionLayer.h but not ProjectApplication.h?
No, that's completely wrong - if you're sure that:
1) ProjectApplication.h #include's ProjectFunctionLayer.h, and
2) ProjectFunctionLayer.h #include's BRBmemory.h
then you *should* have access to things defined in BRBmemory.h from source files that #include ProjectApplication.h.
My first suspicion is that you're using include-guards, and two of your files have the same one. This would mean that when you try and include the second one, it thinks it's already been included, so just skips to the end of the file, leaving you with nothing from that file.
So, check your include-guards and make sure they define something different (e.g. one defines PROJECT_FUNCTION_LAYER_H and the other BRB_MEMORY_H).