我可以創建只接受指向一個可變參數模板:創建可變參數只接受引用或指針
template<typename ... Types>
void F(Types *... args);
或者只接受引用一個可變參數模板:
template<typename ... Types>
void F(Types &... args);
如何創建一個模板它接受非const引用還是指針?
例如
int a, b, c;
F(a, &b); // => F<int &, int *>
F(a, 3); // Error, 3 not pointer and cannot bind to non const-reference
注:參考版本看起來OK的,因爲它可以綁定到指針引用,但它不是因爲它不會綁定到int * const
我認爲你應該接受通用的'類型...'然後通過像'的std :: is_pointer' –
@PaoloM檢查他們的幸福指針或引用:第一個例子不會有效。 – Dani