Pytania otagowane jako partial-specialization

4
Dlaczego szablon funkcji nie może być częściowo wyspecjalizowany?
Wiem, że specyfikacja języka zabrania częściowej specjalizacji szablonu funkcji. Chciałbym poznać uzasadnienie, dlaczego tego zabrania? Czy nie są przydatne? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! template<typename T> void f<T, int>() {} //not allowed!


7
Jak zrobić specjalizację szablonu w C #
Jak zrobiłbyś specjalizację w C #? Będę stanowił problem. Masz typ szablonu, nie masz pojęcia, co to jest. Ale wiesz, czy pochodzi z tego, XYZże chcesz zadzwonić .alternativeFunc(). Świetnym sposobem jest wywołanie wyspecjalizowanej funkcji lub klasy i normalCallzwrócenie jej, .normalFunc()podczas gdy inna specjalizacja na dowolnym pochodnym typie XYZwywołania .alternativeFunc(). Jak …

1
niespójność clang / gcc w specjalizacji klasowej
Natknąłem się na ten problem podczas próby specjalizacji tuple_size/ tuple_elementdla niestandardowej klasy w C ++ 17 dla powiązań strukturalnych. Poniższy kod kompiluje się w GCC, ale nie w clang (obie wersje trunk, patrz poniższy link). #include <type_traits> template<typename T, typename... Ts> using sfinae_t = T; template<typename T, bool... Bs> using …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.