multiple member function forward declarations
<p>In C++ I can have multiple forward declaration of functions like:</p>

<pre><code>void Func (int);
void Func (int);   // another forward declaration, compiles fine
void Func (int) {} // function definition, compiles fine
</code></pre>

<p>And yet VC++ 2010 complains when I do the same for member functions (whether or not I include a definition):</p>

<pre><code>class Test {
   void Func (int);
   void Func (int);   // error C2535 here
   void Func (int) {} // error here too
   };
</code></pre>

<p>I couldn't find anything online about multiple member function forward declarations, whether its legal, illegal, VC++ specific, ect...  Is there a way around this?  Is it illegal?</p>

<p>Now why would I want to do that?  No project in particular, was just playing around with different ways to register functions.  In other projects I've had to register functions/classes and used less hack-ish but more tedious methods, and was just trying (for fun) different methods using macros/templates.</p>

<p>Any ideas or thoughts?  Specifically on the above question, but also on registering functions/classes.</p>

<p>Thanks in advance for your time ;)</p>
