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

 
A100:
Ошибка при компиляции Раньше все нормально компилировалось; тем более, что строчные и прописные буквы в именах файлов не различаются

В качестве скопа используйте первое имя импорта User32

 
A100:

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

а в прошлогодних выпусках все было нормально

Пока будет так.

В планах есть переработка работы макросов, но приоритет у этой задачи низкий

 

Добрый день.

1.Подскажите я правильно понял, что оператор DatabaseReadBind() выгружает в структуру в порядке следования данных в запросе, а не по именам в структуре второго параметра?

2. Если работать с терминалом из python, тестер стратегий как подцепить?

 
Ilyas:

Теперь требуется явно указать скоп

Непонятно почему нельзя различить функции по сигнатуре; тем более, что так:

#import "z1.ex5"
        void f( int x ); //(A)
#import "z2.ex5"
        void f( int x, int y );
#import
void g( int x ) { f( x, x ); } //нормально

нормально, а так:

        void f( int x ); //(B)
#import "z2.ex5"
        void f( int x, int y );
#import
void g( int x ) { f( x, x ); } //ошибка

ошибка! A чем (A) лучше (B) ?

Нет единообразия, и простого и четкого правила. Непонятно, когда нужно использовать скоп, а когда нет?!

 
A100:

Непонятно почему нельзя различить функции по сигнатуре

Тоже не понимаю, зачем на ровном месте выдумывать всё новые ограничения.  Вот когда появится конфликт сигнатур, тогда уже и выдавать ошибку.
 
Ilyas:

В качестве скопа используйте первое имя импорта User32

получается трудноуловимая ошибка (компилируется нормально, но неожиданный результат)

#import "aaa.dll"
        void g();
#import
class AAA { public:
        static void f() {} //(1)
};
/*
.
.
.
*/
#import "AAA.dll"
        void f(); //(2)
#import
void OnStart()
{
        AAA::f(); //нормально
}

с учетом нового требования явно указывать скоп. А если бы этого требования не было, то и трудноуловимой ошибки тоже не было бы.

Оказалось, что явное указание не предотвращает, а наоборот порождает проблему и такое требование не просто избыточно а еще и в ряде случает мешает

 
Ошибка при компиляции
struct A {
        int a;
};
struct B : A {
        int b;
        void f()
        {
                int x1 =      A::a; //(1) нормально
                int x2 = this.A::a; //(2) нормально
                int x3 =      B::b; //(3) нормально
                int x4 = this.B::b; //(4) Error: 'B' is not a class, struct or union
        }
};
А какая разница между (2) и (4) ?
 

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

typedef void (*fn)();
void OnStart()
{
        fn ff[ 1 ];
        ff[ 0 ](); //Error:: ')' - expression expected
} 

а раньше (прошлогодние build) все компилировалось и работало нормально

 
A100:

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

а раньше (прошлогодние build) все компилировалось и работало нормально

Вроде, это никогда не работало без вспомогательной переменной.

 

В MetaEditor не работает поиск слов с управляющими символами. Например, есть строка 

"\nhigh "

Предварительно ставлю галку "Расширенный с \r \n \t". Вбиваю в поиск 'high'.


И в журнале пишет:

Find specified text 'high' was not found

Вбиваю: '\nhigh'. Пишет:

Find specified text '\nhigh' was not found

Снимаю галку "Расширенный с \r \n \t" и только тогда находит '\nhigh'. Но 'high', без управляющего символа, найти так и не удаётся, не смотря на то что управляющий символ '\n' не является частью слова 'high'.