This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I have run into a problem trying to use the g++ compiler on a Sun
Solaris 7 system. I have tried posting my question to the
"gcc-bugs@gcc.gnu.org" and "bug-gcc@gnu.org" newsgroups
without any response.
I've been trying to compile a version of the Microsoft MFC library
with the g++ compiler and have run into a problem that I don't know
how to resolve.
Here is a highly condensed test file that shows the problem.
--------------------------------------------
1
2 class CCmdTarget;
3 class CWnd;
4 class CRecordView;
5
6 typedef int (CCmdTarget::*PMSG)(int);
7
8 class CCmdTarget {};
9
10
11 class CWnd : public CCmdTarget
12 {
13 public:
14 int OnMove (int
x, int y);
15 };
16
17
18 class CRecordView : public CWnd
19 {
20 public:
21 int OnMove (int);
22 protected:
23 void OnMove (int
cx, int cy);
24 private:
25 static const PMSG
_messageEntries[];
26 };
27
28
29 ////////////////////////////////////////////////////////////
30
31 const PMSG CRecordView::_messageEntries[]
=
32 {
33 (PMSG)&CRecordView::OnMove
34 };
----------------------------------------
If I compile the above with the Sun CC compiler, I get no complaints
or warnings. When I compile it with g++ (gcc version 2.95.2 19991024
(release)) I get the following error messages:
t.C:34: no matches converting function `OnMove' to
type `int (CCmdTarget::*)(int)'
t.C:21: candidates are: int CRecordView::OnMove(int)
t.C:23:
void CRecordView::OnMove(int, int)
If I comment out the overloaded function declaration at line 23, it
will compile
with no errors.
The compiler appears to be ignoring the cast operator at line 33 when
it determines
the function signature.
Is there a way to fix this without making major changes to the source
files (I don't understand
the MFC library well enough to make changes to it)?
Thank you,
Don Mies
-- This e-mail contains information intended only for the use of the individual or entity named above. If the reader of this e-mail is not the intended recipient or the employee or agent responsible for delivering it to the intended recipient, any dissemination, publication or copy of this e-mail is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender. Thank you.
begin:vcard n:Mies;Don tel;fax:(714) 375-2737 tel;work:(714) 843-6050 x-mozilla-html:FALSE url:http://www.bluekite.com org:BlueKite.com, Inc.;Unix Development version:2.1 email;internet:dmies@bluekite.com adr;quoted-printable:;;17011 Beach Blvd, Suite 1230=0D=0A;Huntington Beach;CA;92647;U.S.A. x-mozilla-cpt:;-24136 fn:Don Mies end:vcard
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |