다른 종류의 객체를 저장하는 것을 목표로하는 Collection
클래스가 있지만이 클래스가 공유하는 특정 메소드 이름 (예 : ToString()
)을 호출하고 싶습니다. 실패MQL에서 알 수없는 클래스의 메서드를 호출하는 방법은 무엇입니까?
class Collection {
public:
void *data[];
void Collection() {}
void ~Collection() {
for (int i = 0; i < ArraySize(data); i++) {
if (CheckPointer(data[i]) == POINTER_DYNAMIC) delete data[i];
}
}
void *Add(void *_object) {
uint _size = ArraySize(data);
ArrayResize(data, _size + 1, 100);
data[_size] = _object;
return _object;
}
string ToString(string _dlm = ",") {
string _out = "";
for (int i = 0; i < ArraySize(data); i++) {
if (CheckPointer(data[i]) == POINTER_DYNAMIC) {
_out += ((void *) data[i]).ToString(); // @fixme: Syntax error.
}
}
return _out;
}
};
그러나 ((void *) data[i]).ToString()
구문을 사용하여 : : 여기
'ToString'- Collection.mqh
내가 호출 할 수있는 방법
을 정의되지 않은 멤버 함수 각 저장된 객체에 대해 ToString()
메소드?