"Konvertierung des Parameters 1 von 'XXX ** __w64 in 'XX *' nicht möglich"



  • Hallo!
    Ich habe eine Frage und zwar programmiere ich grade ein "Addone" für einen ArcEmu-Server (World of Warcraft). Dort habe ich eine Funktion:

    void MainMenu(GossipMenu * Menu, Player * Plr, Object * pObject)
    {
    	objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 2593, Plr);
            //...
    }
    

    Wenn ich diese Jetzt mit

    MainMenu(&Menu, Plr, pObject);
    

    die Funktion aufrufe, gibt es einen Fehler (siehe Titel),achja und die Variablen/Pointer werden wie folgt definiert:

    Object* pObject;
    Player* Plr;
    GossipMenu * Menu;
    

    Kann mir jemand sagen was ich falsch gemacht habe?
    (Oder braucht ihr noch mehr Infos?)

    MFG
    Neokil



  • die Fehlermeldung sagts schon. Schau dir den Ersten Parameter an
    einzeichen ist beim Aufruf zuviel.
    [cpp]MainMenu(**&**Menu, Plr, pObject); //was sucht das hier?[/cpp]



  • mach bei dem Aufruf das & vor Menu weg



  • Deine Zeiger zeigen auf einen willkürlichen Speicherbereich. Du musst ihn reservieren und dann die Referenz an die Funktion übergeben. Also entweder new, delete oder direkt ein Objekt anlegen.



  • Also Danke, aber wenn ich das "&" wegmache kommt:

    error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl SetupNeokilsWarper(class ScriptMgr *)" (?SetupNeokilsWarper@@YAXPAVScriptMgr@@@Z)".
    

    Was genau bedeutet das?



  • Das du eine Funktion/Methode nicht definiert hast...



  • *Bitte löschen*


Log in to reply