Article View: de.comp.lang.c++
Article #2155typedef in einem Makro
From: Bernhard Ruch
Date: Wed, 17 Apr 1996 10:44
Date: Wed, 17 Apr 1996 10:44
32 lines
1363 bytes
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!usenetShow 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)