如何从一个数组(一维二维)中删除一个元素? - 页 7 123456789 新评论 Алексей Тарабанов 2018.12.23 23:23 #61 Ilya Malev: 任务:从一个数组中删除一个元素。 Ilya Malev 2018.12.23 23:24 #62 Алексей Тарабанов:任务:从一个数组中删除一个元素。一维或二维的。这些任务有不同的答案,因为你不会为两者制作相同的代码。或者说,你可以这样做,但如果不事先知道数组中的测量数量,你就无法调用它。既然你不是一个程序员,从你的话来看,我建议你把它当作信仰 Алексей Тарабанов 2018.12.23 23:25 #63 Dmitry Fedoseev: 这里的数组不能有超过4个维度。所以,你可以写4个不同的函数,仅此而已。你就不能造一个八维的吗? Aliaksandr Hryshyn 2018.12.23 23:30 #64 Ilya Malev:如果我们这样看问题,那么就根本不应该声明多维 数组--应该使用具有不同字段的结构数组来代替。但问题是不同的--我们可以对一个已经存在的任意(事先未知)维度的数组做什么? 那么你们就陷入了僵局 :( 。你为什么不喜欢有几种功能的变体呢? Ilya Malev 2018.12.23 23:35 #65 Aliaksandr Hryshyn: 多重功能选项有什么不满意的呢?通过不得不重复相同的代码(也就是你说的那个),在函数中为每个不同维度 的参数数组 起不同的 名字 Ilya Malev 2018.12.23 23:42 #66 Dmitry Fedoseev: 数组在这里没有超过4个维度。因此,你可以写4个不同的函数,仅此而已。问题不在于写4个函数,而在于不能对任何数组使用一个函数,就像对其他类型一样。这就是为什么最好在µl中完全避免使用多维数组(内置类型[])的原因 Dmitry Fedoseev 2018.12.24 00:00 #67 Алексей Тарабанов:你就不能做一个8维的吗?这些结构很容易使用。 Ilya Malev 2018.12.24 00:42 #68 顺便说一下,在编译时可用的typename不仅不会告诉你测量的数量,甚至不会告诉你参数是一个数组的事实。除非所有的函数代码,只使用像ArrayCopy和ArrayResize这样可以传递不同数组尺寸的 嵌入式调用,可以塞进定义的 Alexey Viktorov 2018.12.24 06:03 #69 Dmitry Fedoseev:诶,而且重载也救不了它。 它能像这样编译吗? void z(int & z[],int shift){}; void z(int size_second_dimension,int & z[][],int shift){}; 虽然我记不清楚 了,但似乎第二次和下一次的测量不能是动态的。相应地,在编译此类代码时可能会出现错误。在这里,size_second_dimension变量可以作为第二维度的设定尺寸,并允许重载该函数。另外,它避免了通过ArrayRange()定义维度的需要。 Dmitry Fedoseev 2018.12.24 06:42 #70 Alexey Viktorov:它能像这样编译吗? 虽然我记不清楚 了,但似乎第二次和下一次的测量不能是动态的。相应地,这种代码的编译也可能出现错误。这里的size_second_dimension变量可以作为第二维的预定义尺寸,并允许重载该函数。另外,它避免了通过ArrayRange()定义维度的需要。它将被编译,但它并不有趣,那么z[][][]呢? 第二维及以上的测量值不能是动态的,但该函数不必为第二维的特定尺寸而定制,它可以通过ArrayRange()查出。 如果测量值的数量不允许超载,那么第二个和其他测量值的大小当然也不允许超载。此外,这一点都不有趣,因为它根本不具有普遍性。用不同的名字来写函数会更容易。 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
任务:从一个数组中删除一个元素。
任务:从一个数组中删除一个元素。
一维或二维的。这些任务有不同的答案,因为你不会为两者制作相同的代码。或者说,你可以这样做,但如果不事先知道数组中的测量数量,你就无法调用它。既然你不是一个程序员,从你的话来看,我建议你把它当作信仰
这里的数组不能有超过4个维度。所以,你可以写4个不同的函数,仅此而已。
你就不能造一个八维的吗?
如果我们这样看问题,那么就根本不应该声明多维 数组--应该使用具有不同字段的结构数组来代替。但问题是不同的--我们可以对一个已经存在的任意(事先未知)维度的数组做什么?
多重功能选项有什么不满意的呢?
通过不得不重复相同的代码(也就是你说的那个),在函数中为每个不同维度 的参数数组 起不同的 名字
数组在这里没有超过4个维度。因此,你可以写4个不同的函数,仅此而已。
问题不在于写4个函数,而在于不能对任何数组使用一个函数,就像对其他类型一样。这就是为什么最好在µl中完全避免使用多维数组(内置类型[])的原因
你就不能做一个8维的吗?
这些结构很容易使用。
诶,而且重载也救不了它。
它能像这样编译吗?
虽然我记不清楚 了,但似乎第二次和下一次的测量不能是动态的。相应地,在编译此类代码时可能会出现错误。在这里,size_second_dimension变量可以作为第二维度的设定尺寸,并允许重载该函数。另外,它避免了通过ArrayRange()定义维度的需要。它能像这样编译吗?
虽然我记不清楚 了,但似乎第二次和下一次的测量不能是动态的。相应地,这种代码的编译也可能出现错误。这里的size_second_dimension变量可以作为第二维的预定义尺寸,并允许重载该函数。另外,它避免了通过ArrayRange()定义维度的需要。它将被编译,但它并不有趣,那么z[][][]呢?
第二维及以上的测量值不能是动态的,但该函数不必为第二维的特定尺寸而定制,它可以通过ArrayRange()查出。
如果测量值的数量不允许超载,那么第二个和其他测量值的大小当然也不允许超载。此外,这一点都不有趣,因为它根本不具有普遍性。用不同的名字来写函数会更容易。