错误、漏洞、问题 - 页 2697 1...269026912692269326942695269626972698269927002701270227032704...3184 新评论 fxsaber 2020.04.04 19:31 #26961 Stanislav Korotky: 在一个函数内声明一个类? 没有模板,它也能发挥作用。 Sergey Dzyublik 2020.04.04 19:46 #26962 Bug MT5(build 2375)当使用函数的指针数组时,通过其指针调用函数时出现编译错误。 #define PRINT(x) ; Print(#x, ":", string(x)) void test(){ PRINT(__FUNCSIG__); } template<typename T> void call(T f_ptr){ f_ptr(); } template<typename T> class A{ public: T arr_1[1]; typedef void (*ff)(); ff arr_2[1]; T test_1(){ return arr_1[0]; } ff test_2(){ return arr_2[0]; } T operator[](int index){ return arr_1[index]; } }; void OnStart(){ typedef void (*ff)(); ff arr[1]; arr[0] = test; ff f_ptr = arr[0]; f_ptr(); //Ok call(arr[0]); //Ok arr[0](); //Compile Error: ')' - expression expected A<ff> a; a.arr_1[0] = test; a.arr_2[0] = test; a.arr_1[0](); //Compile Error: ')' - expression expected a.arr_2[0](); //Compile Error: ')' - expression expected a.test_1()(); //Compile Error: ')' - expression expected a.test_2()(); //Compile Error: ')' - expression expected a[0](); //Ok ??? } fxsaber 2020.04.04 20:41 #26963 Sergey Dzyublik: MT5(build 2375)当使用函数的指针数组时,通过其指针调用函数时出现错误编译。 一个非常古老的错误。 Aleksey Mavrin 2020.04.04 20:47 #26964 有什么建议吗--在MetaEditor打开的文件窗口中,它们的列表被保存在哪里,以便以后打开它们? ME不时地从头打开,尽管在此之前已经打开了一堆文件。可能是由于更新。 我想手动备份列表,或者也许有其他的解决方案? Sergey Dzyublik 2020.04.04 21:00 #26965 Aleksey Mavrin: 有什么建议吗--在MetaEditor打开的文件窗口中,它们的列表被保存在哪里,以便以后打开它们? ME不时地从头打开,尽管在此之前已经打开了一堆文件。可能是由于更新。 我想手动备份列表,或者也许有其他的解决方案? 在注册表里有一个列表,在ini文件 "metaeditor.ini "里有一个列表,通过ME ==> 文件 - 打开数据文件夹(Ctrl + Shift + D) ==> 配置 ==> metaeditor.ini 你更有可能需要第二种。 Sergey Dzyublik 2020.04.04 21:04 #26966 fxsaber: 一个非常古老的错误。 我记得很肯定的是,有一次它照常工作。 我去检查了一下,又增加了一些从其数组中调用指针到一个函数的变体。 事实证明,当指向一个函数的数组在一个类里面,并且通过operator[]访问特定的数组元素时,一切都能正常工作。 同时,如果你使用一个普通的函数来访问一个元素,又会发生编译错误......这是一个奇迹... MQL_User 2020.04.05 08:54 #26967 有什么方法可以覆盖指标的自动重定比例吗?例如,假设在指标子窗口中有两个图表,是否有可能在一个图表上对垂直轴进行重新调整,而在第二个图表上不进行调整?这样,第二张图就不会影响重新缩放。 Sergey Dzyublik 2020.04.05 13:11 #26968 Bug MT5(build 2375),尽管在调用重载模板函数时进行了明确的专业化处理,但仍会调用默认模板函数,这导致了堆栈溢出。 C++在线(https://onlinegdb.com/BJTFdUDD8) template<typename T> void test(T &arr[], T value){ printf("1"); }; template<typename T, typename TT> void test(T* &arr[], TT* value){ printf("2"); test<T*>(arr, value); }; class A{}; void OnStart(){ void* arr[] = {}; A* ptr; test(arr, ptr); // result: 2,2,2,2,2,2,2,2,... should be: 2, 1 } prostotrader 2020.04.05 17:27 #26969 bool s_sel = SymbolSelect("", true); s_sel = true; 请纠正这一点。 fxsaber 2020.04.06 09:25 #26970 工具提示只给出一个ENUM值。 1...269026912692269326942695269626972698269927002701270227032704...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在一个函数内声明一个类?
没有模板,它也能发挥作用。
MT5(build 2375)当使用函数的指针数组时,通过其指针调用函数时出现错误编译。
一个非常古老的错误。
有什么建议吗--在MetaEditor打开的文件窗口中,它们的列表被保存在哪里,以便以后打开它们?
ME不时地从头打开,尽管在此之前已经打开了一堆文件。可能是由于更新。
我想手动备份列表,或者也许有其他的解决方案?
有什么建议吗--在MetaEditor打开的文件窗口中,它们的列表被保存在哪里,以便以后打开它们?
ME不时地从头打开,尽管在此之前已经打开了一堆文件。可能是由于更新。
我想手动备份列表,或者也许有其他的解决方案?
在注册表里有一个列表,在ini文件 "metaeditor.ini "里有一个列表,通过ME ==> 文件 - 打开数据文件夹(Ctrl + Shift + D) ==> 配置 ==> metaeditor.ini
你更有可能需要第二种。
一个非常古老的错误。
我记得很肯定的是,有一次它照常工作。
我去检查了一下,又增加了一些从其数组中调用指针到一个函数的变体。
事实证明,当指向一个函数的数组在一个类里面,并且通过operator[]访问特定的数组元素时,一切都能正常工作。
同时,如果你使用一个普通的函数来访问一个元素,又会发生编译错误......这是一个奇迹...
C++在线(https://onlinegdb.com/BJTFdUDD8)
请纠正这一点。
工具提示只给出一个ENUM值。