mogę stworzyć zmiennej liczbie argumentów szablonu który akceptuje jedynie wskaźniki:Tworzenie zmiennej liczbie argumentów akceptując jedynie odniesienie lub wskaźnik
template<typename ... Types>
void F(Types *... args);
lub zmiennej liczbie argumentów szablonu który akceptuje tylko nazwy:
template<typename ... Types>
void F(Types &... args);
Jak mogę utworzyć szablon który akceptuje referencję lub wskaźnik?
E.g.
int a, b, c;
F(a, &b); // => F<int &, int *>
F(a, 3); // Error, 3 not pointer and cannot bind to non const-reference
Uwaga: wersja referencyjna może wydawać się w porządku, ponieważ może to wiązać się z odniesieniami wskaźnik, ale nie jest, ponieważ nie będą wiązać się z int * const
myślę, że należy przyjąć ogólne '' Rodzaje ... a następnie sprawdzić ich wskaźników jest lub odwołanie przez coś podobnego 'std :: is_pointer' –
@PaoloM: Pierwszy przykład nie zadziała wtedy. – Dani