作者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