Header files implement an interface. That interface is a fact, not subject to copyright.
The fact "strcpy takes as arguments two character pointers, and returns a character pointer", is not copyrightable. This does not change if I express it in C as "char *strcpy(char *d, const char *s);"
A minimal C or C++ header file is just a collection of such facts.
The point Nimmer, an acknowledged authority on IP law, makes is that when you aggregate such "facts" the resultant text, essentially becomes an expressive description of how a whole system works, and therefore is copyrightable. Otherwise one could argue that each individual word in a book is such a "fact," and that copying a book is just copying a series of facts and therefore not a copyright violation.
Whether a work is copyrightable is a matter of examining the whole work in the context of its use, not just determining that individual lines are not copyrightable and concluding that the whole work is therefore not copyrightable.
So no, it is not yet a settled matter of law that header files are not copyrightable.