MQL4代码编译提示too many initializers报错的原因是什么
问题根源
你声明的数组长度和初始化的元素数量不匹配:
- 代码中
string op_str[5]显式指定了数组长度为5 - 但后面初始化列表里一共放了6个字符串常量,超出了数组声明的容量,编译器就会抛出
too many initializers(初始化器过多)的错误
修复方案
方案1:修改数组声明的长度匹配元素数量
把数组长度调整为6即可:
string op_str[6] = {"BUY","SELL","BUYLIMIT","SELLLIMIT","BUYSTOP","SELLSTOP"};
方案2:省略显式长度声明,让编译器自动计算
如果不想手动统计元素个数,可以直接省略方括号里的长度值,编译器会自动根据初始化列表的元素数量确定数组长度:
string op_str[] = {"BUY","SELL","BUYLIMIT","SELLLIMIT","BUYSTOP","SELLSTOP"};
内容的提问来源于stack exchange,提问作者comandante993fp
相关产品推荐
相关产品推荐

