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

Как купить сигналы из России? Там только виза и мастер кард и заблокированный паупал((
Файлы:
m55.png  18 kb
A100 #:

Это не аргумент

Это сомнение.

fxsaber #:

Сомневаюсь, что такой код должен работать.

Это не аргумент - тем более, что так все нормально:

class A {
public:
    A( const A& )         {} //(1)
    A( int i, int j = 0 ) {} //(2)
    A( bool )             {} //(3)
};
A f() { return 1; } //нормально

А что принципиально изменилось по сравнению с первоначальным вариантом ?

Содержимое класса неинтересно. Сомнения в правильно понимании, что должно вызываться при таком return.
fxsaber #:
Содержимое класса неинтересно. Сомнения в правильно понимании, что должно вызываться при таком return.

По факту выясняется что нет понимания

A100 #:

По факту выясняется что нет понимания

Умеете вырывать из контекста.

fxsaber #:

Умеете вырывать из контекста.

Вот еще цитата:

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

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

fxsaber, 2023.09.06 12:12

Это нормально, когда быстро отвечаешь и не особо проверяешь то, что написал.

На данный момент понимание такое, что без запуска пойму результат.


A100 #:

Вот еще цитата:

Цель?

A100 #:

Ошибка при компиляции:

class A {
public:
    A( const A& )         {}
    A( int i, int j = 0 ) {}
};
A f() { return 1; } //Error: object of 'class A' cannot be returned, copy constructor 'A::A(const A &)' not found

Какой же все таки ерундой вы занимаетесь. Вам так важно неявно преобразовать 1 --> A(1)? Сделайте это явно, в чем проблема?

class A {
public:
    A( const A& )         {}
    A( int i, int j = 0 ) {}
};
A f() { return A(1); }

Я конечно не психолог, но как по мне, черезмерное желание заставить ваш код выглядеть сложным может свидетельствовать о прогрессирующем комплексе собственной неполноценности.

Для чего нужна функция, возвращающая POINTER_AUTOMATIC это отдельный вопрос. С POINTER_DYNAMIC не получается реализовать? Или ниндзя-идеология не позволяет писать читаемый код?


[EDIT]

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

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

A100, 2023.12.12 09:03

Это не аргумент - тем более, что так все нормально:

class A {
public:
    A( const A& )         {} //(1)
    A( int i, int j = 0 ) {} //(2)
    A( bool )             {} //(3)
};
A f() { return 1; } //нормально

А что принципиально изменилось по сравнению с первоначальным вариантом ?

В первоначальном варианте нет подходящего конструктора. А здесь будет использован

A( bool )             {} //(3)

[EDIT2]

Я ошибся, по факту во втором варианте вызывается A::A(int,int)

(проверил, добавив "Alert(__FUNCSIG__);" в конструкторы)
class A {
public:
    A( const A& )         {}
    A( int i, int j = 0 ) {}
};
A f() { return new A(1); }

void OnStart()
  {
   Alert(EnumToString(CheckPointer(GetPointer(f()))));
  }
2023.12.12 17:23:45.523 test2 (EURUSD,H4)       Alert: POINTER_AUTOMATIC
2023.12.12 17:23:45.523 test2 (EURUSD,H4)       1 undeleted objects left
2023.12.12 17:23:45.523 test2 (EURUSD,H4)       1 object of type A left
2023.12.12 17:23:45.523 test2 (EURUSD,H4)       32 bytes of leaked memory

return изменил тип указателя, судя по всему. Получается утечка памяти при POINTER_AUTOMATIC.

Но лично для меня остается открытым вопрос: "Для чего нужны функции, возвращающие POINTER_AUTOMATIC?"