Code: Select all
template
class Operator {
public:
Operator(const State& state);
// ...
}
< /code>
Und ich möchte es mit verschiedenen Vorlagenparametern initialisieren: < /p>
bool condition = foo(); // runtime condition
Operator op(state); // not possible because condition is not constexpr
< /code>
Ich habe diesen Thread gefunden, aber ich habe immer noch ein paar Probleme: < /p>
[list]
[*]std::variant
[*] Polymorphismus funktioniert nicht, weil der Operator
Code: Select all
union
[*]
Code: Select all
std::any
[/list]
Gibt es eine einfachere und elegantere Lösung dafür? Wenn nicht, muss ich diese Klasse nur neu gestalten?