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

 

Не корректно работает функция LastIndexOf из шаблонного класса CArrayList.

При выполнении следующего кода, я ожидаемо получаю при вызове test1.IndexOf(1.0) индекс 0 - как индекс первого найденного элемента.

А вот test1.LastIndexOf(1.0) всегда возвращает -1, хотя, согласно описания, должна вернуть индекс последнего найденного элемента, т.е., в данном случае, функция должна вернуть индекс 2, а она возвращает -1.

   CArrayList<float> test1;
   test1.Clear();
   if(!test1.Add(1.0))
     {
      Print("Error test1.Add()");
      return;
     }
   if(!test1.Add(1.0))
     {
      Print("Error test1.Add()");
      return;
     }
   if(!test1.Add(1.0))
     {
      Print("Error test1.Add()");
      return;
     }
   test1.Sort();
   Print(test1.IndexOf(1.0));
   Print(test1.LastIndexOf(1.0));
 
Ошибка при компиляции:
class A {};
void OnStart()
{
    const A *a = new const A; //Error: 'const' - identifier expected
}
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Dmitry Fedoseev, 2022.08.08 16:00

У меня у одного значок новых личных сообщений с ума сходит? То неделю

висела 1, хотя никаких новых сообщений не было. Теперь то появится, то

исчезнет эта 1. Может, это новая фича какая, а я не в курсе? Может оно

меня куда-то призывает?


Сегодня начала проявляться такая же проблема.

 
Отсутствует сообщение компилятора об ошибке:
class A {};
void OnStart()
{
    A *a = new A const; //нет ошибки ???
}

а должно быть!

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

A100, 2022.08.21 23:39

Ошибка при компиляции:
class A {};
void OnStart()
{
    const A *a = new const A; //Error: 'const' - identifier expected
}

Наверное, синтаксис неправильный использовали - расположение слова const.

 

Нашёл глубоко в недрах своих переписок уже давно прочитанное сообщение, но неожиданно вновь активированное, как непрочитанное.

Повторное открытие переписки не снимало статус "непрочитанное сообщение".

Отключил уведомления для этой переписки и затем удалил её полностью. 

Назойливого сообщения больше пока нет.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

A100, 2022.08.22 14:36

Отсутствует сообщение компилятора об ошибке:
class A {};
void OnStart()
{
    A *a = new A const; //нет ошибки ???
}

а должно быть!

В этом причина.

Print(typename(new A const)); // A*


Предполагаю, что const-объект никогда не может быть создан. const-свойство определяет переменная, которая ссылается (прямая или указатель) на созданный объект.

 
Отсутствует сообщение компилятора об ошибке:
class A {};
void f( const A*& ) {}
void OnStart()
{
    A *a;
    f( a ); //нет ошибки ???
}

А должно быть!

 
fxsaber #:

Предполагаю, что const-объект никогда не может быть создан. const-свойство определяет переменная, которая ссылается (прямая или указатель) на созданный объект.

Если статически можно

const A a;

то и динамически можно

const A *a = new const A;

разницы (в смысле const) нет никакой

 
К тому же в ряде случаев переменная вообще не нужна:
class A {
public:
        void f() const { Print(__FUNCSIG__);}
};
void OnStart()
{
    (new A const).f();
}
Причина обращения: