通過使用模板模板參數,可以將模板類傳遞給類,而無需在其參數上指定類型。我想知道是否有一種方法可以將模板模板參數傳遞給函數的模板化簽名,以便能夠專門化該函數的哪個變體將被視爲前向。有沒有辦法將模板化函數簽名作爲模板模板參數
要清楚 - 我知道我不能這樣做:
template <class T>
void foo() { /*...*/ }
template <template <class...> class FooType>
struct Foo { /*...*/ };
int main() {
Foo<decltype(foo)> f;
}
但不知何故,我想能的功能模板簽名傳遞給Foo
。它甚至有可能嗎?
是的'using'這裏的伎倆。這種方法似乎比使用''模板更清潔... –
我可以問你,你使用它的目的是什麼?只是好奇...我看不到'T'的用法,我不能簡單地使用'S'。 – skypjack
當然,這個問題從另一個存檔問題中提出:http://stackoverflow.com/questions/36655835/better-pattern-for-partial-specialization-disambiguation-precedence-chain/36657353#36657353我想提出一個通用標記這將能夠接受模板模板類和功能與給定的簽名...然後我意識到,這不是一個微不足道的任務... :) –