在MQL5中,总是有漏洞可钻! ;) - 页 7 123456789 新评论 TheXpert 2016.12.26 11:05 #61 o_O: 可以使用memcpy 吗? --- 2016.12.26 11:21 #62 Комбинатор: 可以使用memcpy吗?不 ) 你看,如果你必须在调用SendParam之前做一些准备工作,那么把int包在一些CInt类中会比较容易。 TheXpert 2016.12.26 11:27 #63 o_O:没有原生的方法来取舍指针。我的意思是,如果你不从一开始就使用CInt包装器,你将很难处理指针。好吧,从正面看,你也做饭。void f(int* value){ //do something}{ int x = 5; f(&x);}摄取地址是一种准备。相反,它将会是f(GetPtr(x))再加上你必须传递类型 Alexander Gandzyuk 2016.12.26 17:11 #64 o_O:假设在一个类中有一个函数SendParam(int type, void* param)其中参数的类型(type)和参数本身,或者说参数的指针(void*)被传递。该参数可以是任何类型(类或简单类型)。参数可以是任何类型(一个类或一个简单类型)。 有什么问题,法律无效。 模板<typename T> void SendReceiveParam(T& param)。....{ double dval = 10; SendReceiveParam(dval)。 int ival = 10; SendReceiveParam(ival)...// 对结构对象的引用 AAA结构 { void operator=(int a) {}}; AAA struct_val。 SendReceiveParam(struct_val)。} 通过int指针写一个非法的? fxsaber 2016.12.26 19:52 #65 我还是不明白这个问题的说法。显然,即使在例子中也没有明确说明你想达到什么目的。 --- 2016.12.26 20:04 #66 fxsaber: 我还是不明白这个问题的状况。显然,没有明确表述我们想要得到什么,甚至在例子中也没有。我已经写过两次,我们试图把一个int的指针传到void*参数中。(memcpy 和中间类的选项已经建议过了,没必要重复)。 fxsaber 2016.12.26 20:09 #67 o_O:我已经写过两次,我们试图把一个int的指针传到void*参数中。 (memcpy,中间类的选项已经建议过了,没必要再重复了) 该死的,至少在C语言的语法中,你能给我一个在MQL中也应该工作的代码例子吗? --- 2016.12.26 20:10 #68 alexsis78: 有什么问题,法律无效。 模板<typename T> void SendReceiveParam(T& param)。不错,但不适合。它不能传递NULL --- 2016.12.26 20:11 #69 fxsaber: 妈的,至少在C语言中,我们可以有一个在MQL中也应该工作的例子代码吗?void SendParam(void* );int a=10; SendParam(&a); SendParam(NULL); fxsaber 2016.12.26 20:56 #70 o_O: void SendParam(void* );int a=10; SendParam(&a); SendParam(NULL); 谢谢你的例子!但我没有抓住使用的目的--方便。请从SendParam中再加一块,看看例如int的指针要如何使用。o_O:美丽,但不适合。 究竟什么是美丽?这似乎是对模板的正面应用。或者,也许我错过了什么? 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
可以使用memcpy吗?
不 )
你看,如果你必须在调用SendParam之前做一些准备工作,那么把int包在一些CInt类中会比较容易。
没有原生的方法来取舍指针。我的意思是,如果你不从一开始就使用CInt包装器,你将很难处理指针。
好吧,从正面看,你也做饭。
{
//do something
}
{
int x = 5;
f(&x);
}
摄取地址是一种准备。相反,它将会是
f(GetPtr(x))再加上你必须传递类型
假设在一个类中有一个函数
其中参数的类型(type)和参数本身,或者说参数的指针(void*)被传递。
该参数可以是任何类型(类或简单类型)。
参数可以是任何类型(一个类或一个简单类型)。
模板<typename T>
void SendReceiveParam(T& param)。
....
{
double dval = 10;
SendReceiveParam(dval)。
int ival = 10;
SendReceiveParam(ival)
...
// 对结构对象的引用
AAA结构 { void operator=(int a) {}};
AAA struct_val。
SendReceiveParam(struct_val)。
}
通过int指针写一个非法的?
我还是不明白这个问题的状况。显然,没有明确表述我们想要得到什么,甚至在例子中也没有。
我已经写过两次,我们试图把一个int的指针传到void*参数中。
(memcpy 和中间类的选项已经建议过了,没必要重复)。
我已经写过两次,我们试图把一个int的指针传到void*参数中。
(memcpy,中间类的选项已经建议过了,没必要再重复了)
有什么问题,法律无效。
模板<typename T>
void SendReceiveParam(T& param)。
不错,但不适合。
它不能传递NULL
妈的,至少在C语言中,我们可以有一个在MQL中也应该工作的例子代码吗?
int a=10;
SendParam(&a);
SendParam(NULL);
int a=10;
SendParam(&a);
SendParam(NULL);
美丽,但不适合。