Ошибки, баги, вопросы - страница 1704

 
Stanislav Korotky:
Так и должно быть. Вы ничего не путаете? У вас спецификатор protected указан, он определяет методы как доступные в наследниках.
При защищённом наследовании публичные методы базового класса становятся защищёнными в производном классе.
 
Sergei Vladimirov:
При защищённом наследовании публичные методы базового класса становятся защищёнными в производном классе.
Именно так. Защищенные доступы в производном.
 
Stanislav Korotky:
Именно так. Защищенные доступы в производном.
Ну, сделайте вызов защищённого метода из объекта.
 
Alexey Kozitsyn:
Да, что у экземпляра класса после точки, что в самом классе после this.

Короче, так:


Хорошо, когда знаешь имена методов. А если нет? Открывать файл и смотреть что там есть?

Может кому-то удобно, но вряд ли многим...

 
Artyom Trishkin:

А разве Ctrl+пробел когда-нибудь выводили список доступных методов?

Ctrl+пробел работает как всегда, равно как и Ctrl+Shift+пробел, да они и не ломались.

Не работает именно интеллиенс после точки.

После точки список членов открывается. Билд 1430.
 
Artyom Trishkin:

Короче, так:


Хорошо, когда знаешь имена методов. А если нет? Открывать файл и смотреть что там есть?

Может кому-то удобно, но вряд ли многим...

а почему в области глобальных переменных? там и не должен открываться вообще по логике, ибо не надо

пробуйте в OnTick например 

 
Alexey Volchanskiy:

а почему в области глобальных переменных? там и не должен открываться вообще по логике, ибо не надо

пробуйте в OnTick например 

Без разницы. Везде одинаково.
 

Вот массив

array = 0|-5|-14|49|35|-7|-15|48|36|99|67|70|90|107|170|233|296|269|243|237|223|220|200|196|195|199|262|265|298|

как найти максимальную просадку ?

Начальное значение 0 !
 
Туплю. Подскажите, почему так нельзя?
class A
{
};

class B
{
  A* Data[];
  
  B()
  {
    ArrayResize(this.Data, 1);
  }

  A* operator []( const int Pos )
  {
    return(this.Data[Pos]);
  }
  
  void Init()
  {
    A* a = this[0];
    a = new A; // так работает
    
    this[0] = new A; // а так - нет
  } 
};
 
Itum:

Вот массив

array = 0|-5|-14|49|35|-7|-15|48|36|99|67|70|90|107|170|233|296|269|243|237|223|220|200|196|195|199|262|265|298|

как найти максимальную просадку ?

Начальное значение 0 !
double MIDD(double& fEquity[])
{
        double fMaxEquity = 0;
        double fMIDD = 0;
        
        for(int i = 0; i < ArraySize(fEquity); i++)
        {
                fMaxEquity = MathMax(fMaxEquity, fEquity[i]);
                fMIDD = MathMax(fMIDD, fMaxEquity - fEquity[i]); // это в деньгах,
                                                                 // если нужно в процентах, то так:
                fMIDD = MathMax(fMIDD, (fMaxEquity - fEquity[i]) / fMaxEquity * 100);
        }
        
        return fMIDD;
}
fEquity[] - ваш массив.
Причина обращения: