1
在this question它說,它是不可能的,只是直接使用模板參數類的構造函數,因爲如果你喜歡寫東西構造與非類型模板參數
struct S{
template<typename T>
S() { ... }
}
那麼你有沒有調用此構造方法。但是,有一些解決方法可以使此工作,例如,通過模板參數推演。
但我知道的所有這些變通辦法只適用於類型參數。所以,問題是
是否有任何變通辦法使這種工作的非類型模板參數?
struct S{
template<int x>
S() { ... }
}
我感興趣的,應在現代C工作方案++(C++ 17標準,包括所有TS),因爲這是一個理論,而不是實際的問題。
給定一個適當的參數列表,非類型模板參數一直可以被推導出來。給定一個數組時,會發生很多'std :: size_t'參數。雅克的「標籤」答案同樣適用。 – chris
你可以有'template S(std :: integral_constant );' –
aschepler
不知道我明白你的意思。您能否以答案的形式詳細寫一下? – alexeykuzmin0