 <p>As far as the compiler is concerned, it doesn't need to know the actual name of the parameter when the function is being declared. All it needs is the signature of the function: the return type, name, and the parameter types. </p> <p>You only need the parameter name when you <em>define</em> the function, i.e. in a source file.</p> <pre><code>// foo.h void foo(const char*); // foo.c #include "foo.h" void foo(const char * c) { //OK } void bar(const char*) { //Indeed, we have no way to access the parameter } </code></pre> <p>As long as these signatures match, everything will work fine. If this is your header file though, it's usually better to include the parameter name in the declaration as it is useful documentation.</p>