Makros



  • Hi,
    ich hab ein kleines Problem mit Makros.
    Ich möchte folgendes machen:
    #define MSG(string) AfxMessageBox(string)
    Also wenn ich MSG("Test"); aufrufe soll eine AfxMessageBox kommen, die den Text ausgibt. Das klappt aber nicht ganz, ich bekomme folgende Fehlermeldung:
    error C2440: 'type cast' : 'char [5]' kann nicht in 'struct tagMSG' konvertiert werden
    Was habe ich falsch gemacht?

    MfG
    Daniel



  • MSG ist eine Struktur die in einer Windows Headerdatei schon vordefiniert ist,änder einfach mal den namen deines macros um, z.B in

    #define MyMsg(string) AfxMessageBox(string)
    

    ob dein macro so dann allerdings funktioniert weiß ich nicht,da ich nicht im kopf hab wie viele parameter afxmessagebox braucht(bei MessageBox würde es z.B nicht funktionieren)
    )



  • Danke, AfxMessageBox braucht nur einen Parameter.
    Jetzt gehts aber

    Daniel



  • Aber ob das so viel Sinn in dem Fall macht ein Makro zu erstellen??? Makros sorgen oftmals für verwirrung wenn sie für jeden sch*** benutzt werden. Dein MAkro tut doch nichts anderes als AfxMessageBox aufzurufen. Kannst du das denn nicht ausschreiben??? Omannomannomann 😮


Anmelden zum Antworten