Compile-time functions are a thing. Not in C, but in other languages, including C++.
This all comes down to what you think "function" means. If you're living in a C bubble, of course sizeof isn't a function. If you have a wider mapping (!) for the word, then it is a kind of function.