作者snoopy0907 (我是男的喔~^0^")
看板C_and_CPP
標題[問題]副程式的參數問題
時間Thu Oct 29 16:19:42 2009
不好意思,小弟我遇到一個問題想請問前輩們
問題是這樣..
有一個副程式假設名稱是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
1F:推 QQ29:可以 10/29 16:20
2F:推 holymars:回傳有兩種形式,意思是說「可能回傳double,也可能回傳 10/29 16:24
3F:→ holymars:Cstring」,還是「這個函式有兩個回傳值」? 10/29 16:24
4F:推 holymars:如果是後者,建議用std::pair<> 10/29 16:29
5F:→ snoopy0907:先謝謝各位..是有兩個不同的回傳值 10/29 18:15
6F:推 QQ29:h大 為什麼不單純用個struct不是很直觀嘛?用pair優點在? 10/29 18:21
7F:推 Ebergies:pair 的優點在於你可以不用浪費時間 define class 10/29 22:52
8F:推 QQ29:可是他不是才兩個嘛 這樣包很OK 一定要動到pair嘛? 10/29 23:05
9F:推 holymars:用pair的優點在更直觀 10/30 00:34
10F:推 Ebergies:不過我很好奇 pair 應該要動用在哪裡? lol 10/30 00:35
11F:推 holymars:而且你還是可以typedef std::pair<double, Cstring> 10/30 00:36
12F:→ holymars:成你想要的名稱 10/30 00:37
13F:→ holymars:你自己定義一個struct,裡面還要重寫constructor、copyy 10/30 00:38
14F:→ holymars:或是任何你可能會用到的function 但是std::pair裡都寫 10/30 00:38
15F:→ holymars:好了 10/30 00:38
16F:推 walker2009:也可以傳 C 跟 D 的 reference address 進去參數 10/30 01:18
17F:→ walker2009: void BOX(double A,double B,double* C,Cstring* D); 10/30 01:19
18F:→ walker2009:function call BOX(A,B,&C,&D) 10/30 01:20