看板 C_and_CPP 關於我們 聯絡資訊
不好意思,小弟我遇到一個問題想請問前輩們 問題是這樣.. 有一個副程式假設名稱是BOX好了 輸入參數有兩個分別是double A double B 回傳參數是 double C 跟 CString D 請問我要如何寫這個副程式的宣告啊? 因為回傳有兩種不同的形式...很困擾 謝謝 初步的想法是: 用struct A { double C ,CSstring D } 宣告 A BOX(double A,double B); 請問一下我這樣用struct可以嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.20.166.218
QQ29:可以 10/29 16:20
holymars:回傳有兩種形式,意思是說「可能回傳double,也可能回傳 10/29 16:24
holymars:Cstring」,還是「這個函式有兩個回傳值」? 10/29 16:24
holymars:如果是後者,建議用std::pair<> 10/29 16:29
snoopy0907:先謝謝各位..是有兩個不同的回傳值 10/29 18:15
QQ29:h大 為什麼不單純用個struct不是很直觀嘛?用pair優點在? 10/29 18:21
Ebergies:pair 的優點在於你可以不用浪費時間 define class 10/29 22:52
QQ29:可是他不是才兩個嘛 這樣包很OK 一定要動到pair嘛? 10/29 23:05
holymars:用pair的優點在更直觀 10/30 00:34
Ebergies:不過我很好奇 pair 應該要動用在哪裡? lol 10/30 00:35
holymars:而且你還是可以typedef std::pair<double, Cstring> 10/30 00:36
holymars:成你想要的名稱 10/30 00:37
holymars:你自己定義一個struct,裡面還要重寫constructor、copyy 10/30 00:38
holymars:或是任何你可能會用到的function 但是std::pair裡都寫 10/30 00:38
holymars:好了 10/30 00:38
walker2009:也可以傳 C 跟 D 的 reference address 進去參數 10/30 01:18
walker2009: void BOX(double A,double B,double* C,Cstring* D); 10/30 01:19
walker2009:function call BOX(A,B,&C,&D) 10/30 01:20