【发布时间】:2020-04-17 07:08:41
【问题描述】:
我是一名学生。我正在使用模板执行算术运算(减法、加法、乘法、除法),但遇到了一些困难:
一些算术运算(减法,乘法,除法)没有运行?我想使用模板运行所有算术运算
节目链接:https://onlinegdb.com/r1RUMCU_8
程序:
#include <iostream>
using namespace std;
template <class T>
T arithmaticop(T x, T y) //pass data type as a parameter
{
return x+y;
return x*y;
return x/y;
return x-y;
}
int main()
{
cout << arithmaticop<int>(10, 5);
}
o/p
15 //这里只给出唯一的加法
【问题讨论】:
-
不,单个函数只能到达单个返回语句。您必须为每个操作定义一个单独的函数(可能添加一个表示算术运算的模板参数到现有函数)或将所有这些结果打包到一个向量/数组/结构/任何东西中。
-
您误解了模板的用途。模板允许您编写一个对许多不同类型进行操作的函数。这并不意味着你可以编写一个返回多个值的函数。
-
@john 我面临错误“T”没有命名类型onlinegdb.com/SJMWk1v_8帮助
-
@rahul_ 您需要将
template <class T>放在所有函数之前,而不仅仅是第一个函数。 -
@john 现在运行良好我可以在上述问题中添加解决方案