From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13074 invoked by alias); 28 Oct 2014 01:16:52 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 13045 invoked by uid 89); 28 Oct 2014 01:16:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.0 required=5.0 tests=AWL,BAYES_40,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: nm28.bullet.mail.bf1.yahoo.com Received: from nm28.bullet.mail.bf1.yahoo.com (HELO nm28.bullet.mail.bf1.yahoo.com) (98.139.212.187) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 28 Oct 2014 01:16:45 +0000 Received: from [98.139.215.140] by nm28.bullet.mail.bf1.yahoo.com with NNFMP; 28 Oct 2014 01:16:42 -0000 Received: from [98.139.212.245] by tm11.bullet.mail.bf1.yahoo.com with NNFMP; 28 Oct 2014 01:16:42 -0000 Received: from [127.0.0.1] by omp1054.mail.bf1.yahoo.com with NNFMP; 28 Oct 2014 01:16:42 -0000 Received: by 76.13.26.138; Tue, 28 Oct 2014 01:16:42 +0000 Date: Tue, 28 Oct 2014 01:16:00 -0000 From: Eric Kessler Reply-To: Eric Kessler To: "cygwin@cygwin.com" Message-ID: <549733139.935348.1414458766042.JavaMail.yahoo@jws106129.mail.bf1.yahoo.com> Subject: "No known conversion" compiler error with identical arguments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2014-10/txt/msg00471.txt.bz2 I am converting a computer game project from Microsoft Visual Studio to GCC= and get the following compiler error: ../../Human/Human.cpp: In member function =E2=80=98virtual void CHuman::Tak= eAction(CTerrainView**, PUniverse, WORD)=E2=80=99:=20 ../../Human/Human.cpp:1469:71: error: no matching function for call to =E2= =80=98CHuman::GenericAction(CDecisionNode*&, CTerrainView**&, bool, bool, b= ool, void (__attribute__((__cdecl__)) &)(IDirect3DRMFrame*, LPVOID, D3DVALU= E), bool, NULL, void (ISoldier::*)(CTerrainView**, IPhysRendObj*, int), NUL= L, bool, int, bool)=E2=80=99=20 false, NULL, &ISoldier::WalkToSideOfOffering, NULL, true, 0, true );=20 ^=20 ../../Human/Human.cpp:1469:71: note: candidate is:=20 ../../Human/Human.cpp:1145:6: note: void CHuman::GenericAction(PDecisionNod= e, CTerrainView**, bool, bool, bool, PFNMOVECALLBACK, bool, PFNREACTION, PM= FNCONTINUATION, PFNCLEANUP, bool, int, bool)=20 void CHuman::GenericAction( PDecisionNode pNode, PTerrainView pView[], bool= bHorse,=20 ^=20 ../../Human/Human.cpp:1145:6: note: no known conversion for argument 9 fr= om =E2=80=98void (ISoldier::*)(CTerrainView**, IPhysRendObj*, int)=E2=80=99= to =E2=80=98PMFNCONTINUATION {aka void (ISoldier::*)(CTerrainView**, IPhys= RendObj*, int)}=E2=80=99 Note that in the last line, where it says "no known conversion from to " that argument 1 and argument 2 are identical. I did a search for "no known conversion" but there were no applicable resul= ts. Here is the line that causes the error: void CHuman::TakeAction( PTerrainView pView[], PUniverse pUniverse, WORD wC= mdId )=20 {=20 . . .=20 GenericAction( m_Ego.m_pCurrentDecision, pView, false, false, false, Ge= nericCallback, false, NULL,=20 &ISoldier::WalkToSideOfOffering, NULL, true, 0, true );=20 . . .=20 } Here is the prototype for GenericAction: typedef class CHuman : public CPhysicalEntity, public IHuman {=20 . . .=20 public:=20 . . .=20 struct ego m_Ego;=20 . . .=20 void GenericAction( PDecisionNode pNode, PTerrainView pView[], bool bHo= rse =3D false, bool bThisHouse =3D false, bool bOffice =3D false, PFNMOVECALLBACK = pfnMoveCallback =3D GenericCallback, bool bCheckForCart =3D true, PFNREACTION pfnReaction =3D NULL, PMFN= CONTINUATION pmfnContinuation =3D NULL, PFNCLEANUP pfnCleanUp =3D NULL, bool bDeleteDest =3D true, int nPro= xScaleExp =3D 0, bool bSimplePath =3D false );=20 . . .=20 } * PHomini; Here is the prototype for WalkToSideOfOffering: typedef class ISoldier : public IPhysRendObj {=20 public:=20 . . .=20 void WalkToSideOfOffering( class CTerrainView *pView[], class IPhysRend= Obj *, int nOffering =3D 0 );=20 . . .=20 }; And here is the prototype for PMFNCONTINUATION: typedef void (__thiscall ISoldier::*PMFNCONTINUATION)(class CTerrainView **= const,class IPhysRendObj *,int); Why is there an error converting an argument from one type to an identical = type? If this is the wrong place to ask this question, please direct me to the ap= propriate place. Thank you. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple