[英]can template function have multiple return type?
我是一名學生。 我正在使用模板執行算術運算(減法、加法、乘法、除法),但面臨一些困難:
一些算術運算(減法,乘法,除法)沒有運行? 我想使用模板運行所有算術運算
程序鏈接: 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 //這里只給出唯一的加法
我參考這個鏈接: http://www.cplusplus.com/doc/oldtutorial/templates/
模板與您獲得的結果無關。 模板可用於處理多種類型而不是多個值。
一旦遇到返回,function 就會退出,因此只執行 function 的第一個操作,其他操作完全忽略,因為第一個操作的代碼退出返回:
return x+y
如果您希望您的代碼執行您列出的所有操作並打印結果,您可以執行以下操作:
#include <string>
#include <sstream>
template <class T>
std::string arithmaticop(T x, T y) //pass data type as a parameter
{
std::stringstream resultStringStream;
resultStringStream << x+y;
resultStringStream << x-y;
resultStringStream << x*y;
resultStringStream << x/y;
return resultStringStream.str();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.