Bonjour,
J'ai besoin de reconnaitre,dans une déclaration c++,si un argument est passé par valeur ou par adresse.J'ai écris un traducteur de header's files pour masm et celui ci me pose de temps en temps des questions ressemblant à des colles.Celle qui suit en est une.Je vois a quoi sert le *,& CONST et INT
La fonction:
GetDeclaration passe la structure D3DVERTEXELEMENT9 par adresse.La taille de la structure est supéreure à 1 dword.DECLARE_INTERFACE_(ID3DXBaseMesh, IUnknown)
{
...
STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9 Declaration[MAX_FVF_DECL_SIZE]) PURE;
..
}
La fonction:
AssocCreate passe CLSID et REFIID par valeur.Ces deux structures ont une taille > 1 dword.HRESULT AssocCreate(CLSID clsid,REFIID riid,LPVOID *pqa);
On ne trouve rien dans la déclaration des deux fonctions indiquant le choix opéré.
Faut il en conclure que le c++ à un comportement différent en fonction du type de fonction???.
L'une est HRESULT l'autre STDMETHOD dans une interface.
Merci pour la réponse
Partager