簡體   English   中英

模板 function 可以有多個返回類型嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM