mql5支持不定参数函数吗?
不支持可变参函数。
相同数据类型,可以用数组;不同数据类型可以用结构体(或者结构体数组)。
或者用链表解决。
C语言的宏定义有很多trick,有些属于奇技淫巧。
不知道你遇到什么问题,非得要收集变量的名称。
耶鲁,计科,关于C语言的宏定义 https://www.cs.yale.edu/homes/aspnes/pinewiki/C(2f)Macros.html
//+------------------------------------------------------------------+ //| test_收集变量名.mq5 | //| Copyright 2022,fxMeter | //| https://www.mql5.com/en/users/fxmeters | //+------------------------------------------------------------------+ #property copyright "Copyright 2022,fxMeter" #property link "https://www.mql5.com/en/users/fxmeters" #property version "1.00" #include <Arrays\ArrayString.mqh> #define VARNAME(x) #x //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- CArrayString str; ulong ticket; double lots; string symbol; str.Add(VARNAME(ticket)); str.Add(VARNAME(lots)); str.Add(VARNAME(symbol)); int total = str.Total(); for(int i=0; i<total; i++) { printf("%d:变量名是:%s",i,str.At(i)); } } //+------------------------------------------------------------------+ //0:变量名是:ticket //1:变量名是:lots //2:变量名是:symbol
比如一个函数想要多个参数怎么设置呢?