How does calling this function (without a definition) work? <p>So I am trying to get to grips with someone's code (and cannot contact them) and I do not understand why they do this. They call a function in main like this:</p> <pre><code>LOG_AddFunction(); </code></pre> <p>This function is defined in a header file like this:</p> <pre><code>#define LOG_AddFunction() LOG_Add(LOG_TYPE_NORMAL, "%s()", __FUNCTION__) </code></pre> <p>Then LOG_Add is defined in the same header file:</p> <pre><code>extern int LOG_Add(LOG_TYPE eType, const char *pcText, ...); </code></pre> <p>There does not seem to be any ultimate definition of the LOG_AddFunction function and I do not understand why the code calls it. Can someone shed some light on this please?</p>