struct das verschiede Werte beinhaltet
-
mit dem präprozessor müsstest du solche spässe machen können. etwa so:
globaler header:#define WERT "inc1.inc"
inc1.inc
#define WERT "inc2.inc" 1
inc2.inc
2
und dann einfach #include WERT hinschreiben, wo es gebraucht wird. geht sicher auch anders. aber blödsinn bleibt blödsinn.
-
Gabs nicht genau die gleiche Frage (oder so ähnlich) hier schon mal vor einiger Zeit? Ist vielleicht was für die FAQ
*michvorlachenwegschmeiss*
-
__COUNTER__
-
COUNTER schrieb:
__COUNTER__
quatsch
-
counter ist leider nicht standardkonform, deshalb auch nicht unbedingt zu verwenden.
mit counter ginge sowas:
template<int i>
struct blub{
static const a=4;
};
template<> struct blub<0>{
static const a=2;
};#define Blub blub<__COUNTER>
benutzung:
Blub::a
ansonsten sollte es unmöglich sein, da die template meta programmierung sowas nicht kann(stichwort compiletimekonstanten), und der präprozessor sonst kein entsprechendes mittel bietet.
-
Hallo,
zum Thema Counter:
http://www.c-plusplus.net/forum/viewtopic.php?t=70054&postdays=0&postorder=asc&highlight=counter&start=0
-
@HumeSikkins: hast dus hinbekommen?
-
ness schrieb:
Jaja, schon klar, das kann ich auch. Ich will aber einen zur kompilierzeit evaluierbaren ausdruck... (Das ist ja die schwirigkeit: beim kompilieren kann man das eben nicht in einem bool-wert speichern.)
/edit: @SeppSchrot: wieso? Das ist eine ernst gemeinte Frage!Und woran machst du fest, was der "erste" Aufruf ist? Klingt jedenfalls schonmal sehr abenteuerlich. *g*
-
Ist mir klar, genau das ist ja das Problem. Funktionieren würde meine Idee nur, wenn der Compiler die templates "cached"... Aber, wenns nicht geht, egal... War nur sone Schnappsidee.
-
was genau willst dud enn machen?