结构是MQL中的简单类型。这意味着您可以在其中包含各种整型值和浮点值(任何强制转换为ulong和double的值)以及其他一些值。这也意味着您不能在其中包含字符串和其他结构。如果结构中有字符串,则无法通过引用传递和许多其他问题(因此,最好是说结构中不支持复杂类型,您可能仍然有它们,但您有责任正确地执行所有操作)。
由于不能通过引用传递结构,因此不能使用
FileReadStruct()
.
我建议使用
CObject-based
和班级
CArrayObj
filerow[]
.
class CFileRow : public CObject
{
//8 fields
public:
CFileRow(const string line)
{
//convert string line that you are to read from file into class
}
~CFileRow(){}
};
CArrayObj* fileRowArray = new CArrayObj();
while(!FileIsEnding(FileReader))
{
string line=FileReadString(FileReader);
fileRowArray.Add(new CFileRow(line));
}