Ошибки, баги, вопросы - страница 1741
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы хотите получить реальный тип объекта по указателю?
Что-то типа функции:
typename генерирует строку во время компиляции, именно поэтому и необходимо "тянуть хвосты".
Вы хотите получить реальный тип объекта по указателю?
Что-то типа функции:
Да. Вот
Stanislav Korotky:
Я бы хотел сделать поизящнее. Но как? В MQL typename(this) в виртуальном базовом методе возвращает базовый класс. Вот в C++ typeid(*this).name() в базовом виртуальном методе возвращает актуальный класс объекта.
Это только в Публикциях профиля фича?
Что-то никак не сображу
int b=2;//b1
int aa(int a, int b)
{
return(a+a+b+b);
}
одно из a и b в return должны быть внешние //a1 и //b1. Через this не идет.
a + ::a + b + ::b
Но вообще за такую практику надо по рукам бить.
a + ::a + b + ::b
Но вообще за такую практику надо по рукам бить.
Спасибо.) Книги по С++ под рукой нет. Но визуально помнится, там вроде через this было. Подзабыл наверное. Применять для этих целей ранее не приходилось. Что-ж теперь, везде переменный менять -счас.
А вообще, оно для этого и предусмотрено. Так что - не правы. Злоупотреблять не стоит.
При перетаскивании (CHARTEVENT_OBJECT_DRAG) мышью графического объекта OBJ_CHART сбрасывается текущий интервал отображения в OBJ_CHART.
Прошу убрать в следующем билде данный сброс.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Ilyas, 2016.10.18 09:24
Почему список инициализации Вы не включаете в тело? Образно говоря, объект класса (в том числе его this) инициализируется на знаке ':'{
const int a;
A() : this.a(0) {} // 'this' - struct member undefined && '.' - member(s) initialization expected
// A() : a(this.a) {} // no problem
};
Идентификатор
Описание
Тип свойства
CHART_COMMENT
Текст комментария на графике
string
CHART_EXPERT_NAME
Имя эксперта, запущенного на графике с указанным chart_id
string
CHART_SCRIPT_NAME
Имя скрипта, запущенного на графике с указанным chart_id
string
Очень много времени потратил на локализацию. Советник
{
public:
const string Name;
const long Chart;
int GetSubWindow( void ) const
{
const ulong StartTime = GetMicrosecondCount();
const int Res = ObjectFind(this.Chart, this.Name);
Print((string)(GetMicrosecondCount() - StartTime) + " mcs.");
return(Res);
}
CHARTOBJECT( const ENUM_OBJECT object_type, const long chart_id = 0 ) :
Name((string)MathRand()), Chart(chart_id)
{
ObjectCreate(this.Chart, this.Name, object_type, 0, 0, 0);
}
~CHARTOBJECT( void )
{
if (this.GetSubWindow() != -1)
ObjectDelete(this.Chart, this.Name);
}
long GetProperty( const ENUM_OBJECT_PROPERTY_INTEGER Property, const int Modifier = 0 ) const
{
return(ObjectGetInteger(this.Chart, this.Name, Property, Modifier));
}
};
CHARTOBJECT Chart(OBJ_CHART);
CHARTOBJECT* Bitmap;
void OnInit()
{
Bitmap = new CHARTOBJECT(OBJ_BITMAP_LABEL, Chart.GetProperty(OBJPROP_CHART_ID));
}
void OnDeinit( const int Reason )
{
Bitmap.GetSubWindow();
delete Bitmap;
}
После того, как его удалите с чарта, будет вывод в лог
2016.10.22 19:35:48.351 Test9 (AUDCAD,M1) 3005619 mcs.
Три секунды он удалялся и вылетел. Воспроизводится только в релиз-варианте. При дебаге все нормально.
Просьба подтвердить у себя. В режиме скрипта воспроизвести не получилось. Только советник.