🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #2155

typedef in einem Makro

#2155
From: Bernhard Ruch
Date: Wed, 17 Apr 1996 10:44
32 lines
1363 bytes
Ist es moeglich, folgendes Problem mit Makros zu loesen?

Ich moechte, fur eine beliebige Klasse, einen neuen Datentyp
definieren (einen Pointer auf die Klasse), und eine Funktion,
die diesen Pointer als Argument hat.
Der Name des Datentyps sollte aus dem Namen der Klasse + "Pointer"
bestehen.

z.B. fuer die Klasse "Object":

    typedef Object* ObjectPointer;

    int Display (ObjectPointer pObject);


Ich versuchte es mit folgendem Makro:


    #define CLASSPOINTER(CLASSNAME) typedef CLASSNAME* CLASSNAMEPointer; \
    int Display (CLASSNAMEPointer pCLASSNAME);

    CLASSPOINTER(Object)


Das Problem ist nun, dass "CLASSNAME" in "CLASSNAMEPointer" nicht durch
"Object" ersetzt wird

Gibt es irgendeine Methode, einen Teil eines Typ-Namens (oder Variablen-Namens)
in einem Makro durch ein Argument zu ersetzen? (z.B. $(CLASSNAME) wie im Makefile)


Bernhard
Technical Details
Message-ID: <3174CB7F.41C6@studi.epfl.ch>
Path: arc1-ca.pugleaf.net!dinews.epfl.ch!usenet

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!dinews.epfl.ch!usenet
From: Bernhard Ruch <Bernhard.Ruch@studi.epfl.ch>
Newsgroups: de.comp.lang.c++
Subject: typedef in einem Makro
Date: Wed, 17 Apr 1996 12:44:15 +0200
Organization: Ecole Polytechnique Federale de Lausanne
Message-ID: <3174CB7F.41C6@studi.epfl.ch>
NNTP-Posting-Host: didec4.epfl.ch
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 3.0b2 (X11; I; OSF1 V3.2 alpha)