Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

11

21.09.2003, 12:14

Damit könnte man doch zum Beispiel Makros mit "mehreren Argumenten" definieren:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//...

#define MAKRO(s, x) {Funktion_mit_variabler_Argumentenliste (s "%d", STR_TO_EXPR (x), _LINE_);}

//...

void Funktion_mit_variabler_Argumentenliste (char* String, ...)
{
//...
}

//...

void func ()
{
//...

int integer= 2;
char* string = "String";
MAKRO ("%d%s", "integer, string")

//...
}


Oder ist da irgendwo ein Fehler?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

12

21.09.2003, 13:26

Achso, ja, das ginge - wenn es unterstützt würde.
Mach Dir doch eine Klasse für solche Listen, dann geht's... der Konstruktor der Klasse erwartet "char* p_format" und dann "...", und die Klasse besitzt einen Casting-Operator nach char*.

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

13

21.09.2003, 13:42

??? Wie meinst du das?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

14

21.09.2003, 14:46

Z.B. so:
MAKRO(blah, blah, VAList("Dies ist ein String!", 100, 200, -0.5f, "Hallo!"));

Werbeanzeige