123456789101112131415161718192021222324252627282930313233343536 |
- #include<iostream>
- #include<string>
- template<typename T>
- void fun(T data=1)
- {
- std::cout << data << std::endl;
- }
- template <typename T1,typename T2, typename R1>
- R1 fun1(T1 a, T2 b)
- {
- return a + b;
- }
- template <typename T1, typename T2>
- auto fun2(T1 a, T2 b) -> decltype(a < b ? a : b)
- {
- return a < b ? a : b;
- }
- template <typename T1, typename T2>
- auto fun3(T1 a, T2 b) ->std::decay_t<decltype(a < b ? a : b)>
- {
- return a < b ? a : b;
- }
- int main()
- {
- fun(1);
- fun<int>();
- }
|