
I think you may be chasing the wrong problem.  I don't think it is the
function overloading at all-- I do that sort of thing all of the time
in BC++ without a hitch.  The big problems I have encountered in
porting MFC to BC++ is that fact that MFC _depends_ on a couple of
invalid C++ assumptions.

I have never gotten the _entire_ ctrltest app to run under BC++, but
the reason is that MS makes some bad assumptions about the order in
which static/global objects are initialized (i.e. some objects are
getting accessed before they are initialized).  The problem is in the
owner-draw menu code somewhere-- if you comment out that section, all
other pieces of ctrltest work fine.

Two other major gotchas I have found using MFC under BC++:

- The CFile::OpenFlags enum uses hard-coded numbers for the open mode,
  rather than the manifest constants defined in fcntrl.h (which differ
  between MSC and BC).

- All of the MFC collection classes depend on another bad C++
  assumption-- that a reference to a base object can used be in place
  of a reference to a derived object (true for pointers, NOT for
  references).

I am sure there are other problems along the same lines, but I have
not encountered them (yet).  I have not seen MFC 2.0 yet, but I hope
that some of these will be addressed.  If they are not, all of MS's
hype about portability to other vendor's compilers will be just that.
