Вопросы с тегом «function-templates»

13
Может ли шаблон функции члена класса быть виртуальным?
Я слышал, что шаблоны функций-членов класса C ++ не могут быть виртуальными. Это правда? Если они могут быть виртуальными, то каков пример сценария, в котором можно использовать такую ​​функцию?

4
Почему шаблон функции не может быть частично специализированным?
Я знаю, что спецификация языка запрещает частичную специализацию шаблона функции. Хотелось бы узнать, почему он это запрещает? Разве они не полезны? 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 …

2
Почему эта функция шаблона не работает должным образом?
Я читал о шаблонных функциях и запутался в этой проблеме: #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout << "f(double)\n"; } template void g<double>(double); int main() { f(1.0); // f(double) f(1); …

5
Как вернуть правильный тип данных в шаблоны?
#include <iostream> using namespace std; template <class X, class Y> Y big(X a, Y b) { if (a > b) return (a); else return (b); } int main() { cout << big(32.8, 9); } Здесь я использую шаблоны в CPP, поэтому, когда я вызываю функцию, bigобходя аргументы типа doubleи int, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.