[問題]副程式的參數問題

看板C_and_CPP作者 (我是男的喔~^0^")時間16年前 (2009/10/29 16:19), 編輯推噓10(1008)
留言18則, 5人參與, 最新討論串1/1
不好意思,小弟我遇到一個問題想請問前輩們 問題是這樣.. 有一個副程式假設名稱是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

10/29 16:20, , 1F
可以
10/29 16:20, 1F

10/29 16:24, , 2F
回傳有兩種形式,意思是說「可能回傳double,也可能回傳
10/29 16:24, 2F

10/29 16:24, , 3F
Cstring」,還是「這個函式有兩個回傳值」?
10/29 16:24, 3F

10/29 16:29, , 4F
如果是後者,建議用std::pair<>
10/29 16:29, 4F

10/29 18:15, , 5F
先謝謝各位..是有兩個不同的回傳值
10/29 18:15, 5F

10/29 18:21, , 6F
h大 為什麼不單純用個struct不是很直觀嘛?用pair優點在?
10/29 18:21, 6F

10/29 22:52, , 7F
pair 的優點在於你可以不用浪費時間 define class
10/29 22:52, 7F

10/29 23:05, , 8F
可是他不是才兩個嘛 這樣包很OK 一定要動到pair嘛?
10/29 23:05, 8F

10/30 00:34, , 9F
用pair的優點在更直觀
10/30 00:34, 9F

10/30 00:35, , 10F
不過我很好奇 pair 應該要動用在哪裡? lol
10/30 00:35, 10F

10/30 00:36, , 11F
而且你還是可以typedef std::pair<double, Cstring>
10/30 00:36, 11F

10/30 00:37, , 12F
成你想要的名稱
10/30 00:37, 12F

10/30 00:38, , 13F
你自己定義一個struct,裡面還要重寫constructor、copyy
10/30 00:38, 13F

10/30 00:38, , 14F
或是任何你可能會用到的function 但是std::pair裡都寫
10/30 00:38, 14F

10/30 00:38, , 15F
好了
10/30 00:38, 15F

10/30 01:18, , 16F
也可以傳 C 跟 D 的 reference address 進去參數
10/30 01:18, 16F

10/30 01:19, , 17F
void BOX(double A,double B,double* C,Cstring* D);
10/30 01:19, 17F

10/30 01:20, , 18F
function call BOX(A,B,&C,&D)
10/30 01:20, 18F
文章代碼(AID): #1AwL0WS1 (C_and_CPP)