错误、漏洞、问题 - 页 3095 1...308830893090309130923093309430953096309730983099310031013102...3184 新评论 mktr8591 2021.10.21 11:02 #30941 有一个脚本 class X {}; void fTest(X &Obj) {return;} void OnStart() { X obj; fTest(GetPointer(obj)); //ОК //fTest(&obj); //Compile error: '&' - parameter passed as reference, variable expected } 问题:如果GetPointer(obj)可以通过,为什么&obj会失败? 这需要什么吗? mktr8591 2021.10.21 13:25 #30942 我想澄清一下,以备不时之需。假设有一个这样的代码。ClassX *x=new ClassX; //какой-то код delete x; //......много кода, прошло много времени ClassY *y=new ClassY; Print(x==y); // может ли быть true? 原则上,X等于Y是可能的吗? fxsaber 2021.10.21 13:38 #30943 mktr8591 #:我想澄清一下,以备不时之需。假设有这样一个代码。 原则上,X等于Y是可能的吗? 理论上,是的。以前,指针取消设置显示一个计数器(你可以看到所有对象的数量)。现在,它是随机的。 mktr8591 2021.10.21 13:46 #30944 fxsaber #:理论上,是的。以前,指针的打印结果显示一个计数器(你可以看到所有对象的数量)。现在,它是随机的。 也许吧,但这对随机来说有点小--我通常有7位数。 Alain Verleyen 2021.10.21 14:14 #30945 mktr8591 # :有一个脚本问题:如果GetPointer(obj)传递正常,为什么&obj会失败?有什么需要吗? 这里没有必要使用GetPointer()。 fTest(obj); //ОК // Это для чего-то нужно? X *objptr; objptr = &obj; mktr8591 2021.10.21 14:17 #30946 Alain Verleyen #:这里不需要GetPointer()。 同意。我只是想知道为什么在行为上会有如此大的差异。 Ilyas 2021.10.21 14:50 #30947 mktr8591 #:我想澄清一下,以备不时之需。假设有这样一个代码。 原则上,X等于Y是可能的吗? 不,不可能。 Ilyas 2021.10.21 14:56 #30948 mktr8591 #:我想澄清一下,以备不时之需。假设我们有以下代码。 原则上,x有可能等于y吗? 我建议你不要使用指向引用的自动寻址指针,而要显式地做到这一点,如下面的代码所示(用红色标出)。 class A { }; void func(A &) { } void OnStart(void) { A a; A *pa=&a; func(* pa); } Alain Verleyen 2021.10.21 16:01 #30949 Ilyas # : 我建议你不要把指针自动变成一个链接,而是像下面的代码(用红色标出)那样明确地做。 有什么变化?毕竟不是一样的吗? fxsaber 2021.10.21 16:07 #30950 这个错误是毫无疑问的,但由于某种原因,它被追溯到了过去。 class X {}; template <typename T> void fTest(T &Obj) {return;} void OnStart() { X obj; fTest(GetPointer(obj)); //'GetPointer' - parameter passed as reference, variable expected - ДВАЖДЫ! } 1...308830893090309130923093309430953096309730983099310031013102...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
有一个脚本
问题:如果GetPointer(obj)可以通过,为什么&obj会失败?
这需要什么吗?
我想澄清一下,以备不时之需。假设有一个这样的代码。
原则上,X等于Y是可能的吗?我想澄清一下,以备不时之需。假设有这样一个代码。
原则上,X等于Y是可能的吗?理论上,是的。以前,指针取消设置显示一个计数器(你可以看到所有对象的数量)。现在,它是随机的。
理论上,是的。以前,指针的打印结果显示一个计数器(你可以看到所有对象的数量)。现在,它是随机的。
有一个脚本
问题:如果GetPointer(obj)传递正常,为什么&obj会失败?
有什么需要吗?
这里没有必要使用GetPointer()。
这里不需要GetPointer()。
我想澄清一下,以备不时之需。假设有这样一个代码。
原则上,X等于Y是可能的吗?不,不可能。
我想澄清一下,以备不时之需。假设我们有以下代码。
原则上,x有可能等于y吗?我建议你不要使用指向引用的自动寻址指针,而要显式地做到这一点,如下面的代码所示(用红色标出)。
我建议你不要把指针自动变成一个链接,而是像下面的代码(用红色标出)那样明确地做。
这个错误是毫无疑问的,但由于某种原因,它被追溯到了过去。