benötige
Code: Select all
template
struct acceptor {
// ...
template <
// assumedly, something needs to go here
>
static inline void accept(void) {
// ...
}
// ...
};
< /code>
, soint main(void) {
acceptor::template accept();
acceptor::template accept();
return 0;
}
Ich habe es versucht,
Code: Select all
template <
Types... Values
>
static inline void accept(void) {
// ...
}
< /code>
Aber das scheinbar versucht, im Wesentlichen eine Variadik des ersten Typs anstelle eines einzelnen Non-Typ-Parameters pro äußeres Argument zu machen. Das Argument scheint immer eine falsche Anzahl von Vorlagenargumenten zu sein ( sollte 1 sein)
Es scheint in C nicht möglich zu sein ++ 20 oder eine spätere Version von dem, was ich beurteilen kann, und ich musste einen strukturellen (damit zum Kompilierzeit verwendet werden) Tupel -Typ, um dies zu verarbeiten, aber es ist etwas hässlich und ich möchte es vermeiden, es zu verwenden Wenn möglich. Zu beachten, dass dies bei einer Ubuntu -Installation von GCC .