오류, 버그, 질문 - 페이지 2831

 
A100 :

당신은 다시 주제에서 벗어났습니다. 차이가 없습니다. 두 경우 모두 오류가 없어야 하거나 오류가 있어야 합니다(C++에서와 같이). 다음은 (2)의 경우와 같이 f가 다음에 재정의되는 경우의 예입니다(3). 그러나 (2)와 달리 컴파일 시간 오류

죄송합니다, 당신의 수준이 아닙니다. 그러나 내 의견으로는 더 엄격하고 합리적이지 않은 캡슐화입니다. si도 아니고 파이썬도 아닙니다.

 
하나의 예에서 모든 것을 결합해 보겠습니다.
 class B {
public :
        B( int ) {}
};
class A {
         int f( int ) { return 0 ; }
         void g1()    { B f = f( 1 );  } //(1) нормально
         void g2()    { B f(  f( 1 )); } //(2) Error: '1' - some operator expected
};
이제 일반적으로 모든 것이 동일하지만 질문은 동일합니다. (1)(2) 의 차이점은 무엇입니까?
 
A100 :
모든 것을 하나의 예로 결합해 보겠습니다. 이제 일반적으로 모든 것이 동일하지만 질문은 동일합니다. (1)(2) 의 차이점은 무엇입니까?

나는 당신이 말하는 것을 이해하지 못하지만 차이점은 명백합니다))) 할당 -> 인수입니다. 아마도 내가 틀릴 수도 있습니다)))

 
Сергей Таболин :

나는 당신이 말하는 것을 이해하지 못하지만 차이점은 명백합니다))) 할당 -> 인수입니다. 아마도 내가 틀릴 수도 있습니다)))

차이점이 분명하다면 한 경우에는 컴파일 중 오류가 발생하고 다른 경우에는 오류가 발생하는 이유를 설명하십시오. 아니면 의미가 아닌 외모로만 그 차이를 알 수 있습니까!? 다음은 Murzilka 잡지 수준입니다. "10가지 차이점 찾기"

 
A100 :

차이점이 분명하다면 한 경우에는 컴파일 중 오류가 발생하고 다른 경우에는 오류가 발생하는 이유를 설명하십시오. 아니면 의미가 아닌 외모로만 그 차이를 알 수 있습니까!? 다음은 Murzilka 잡지 수준입니다. "10가지 차이점 찾기"

정확히 )))))))

평신도에게 한 가지 더 질문해도 될까요? 이 모든 것이 필요한 이유는 무엇입니까? 성례전의 의미는 무엇입니까? 그러한 "버그"를 특별히 찾고 있습니까? 아니면 이러한 디자인이 전혀 없이 - 평생 동안 하수구로?

 
Сергей Таболин :

평신도님 질문 하나만 더 해도 될까요? 이 모든 것이 필요한 이유는 무엇입니까? 성례전의 의미는 무엇입니까? 그러한 "버그"를 특별히 찾고 있습니까? 아니면 이러한 디자인이 전혀 없이 - 평생 동안 하수구로?

그러한 질문에 대해서는(이 스레드에서) 금지할 시간입니다.

 

실수에 관한 것이기 때문입니다. DLL 및 테스터의 수동 중지 주제에 대한 솔루션이 있습니까?

그 과정에서 테스터/최적화가 중지되면 새로운 테스트를 시작하려면 metatester64 핸들로 죽여야 합니다(팜의 경우 지옥의 추가 부분이 있습니다). 왜냐하면 프로세스는 DLL을 로드한 상태로 두고 새 테스트를 실행하기 위해 DLL을 새로운 방식으로 샌드박스에 복사하지만 분명히 Windows는 열려 있는 DLL과 쓰기 오류를 덮어쓰는 것을 허용하지 않습니다.

글쎄, 개발자가 여기를 통해 실행하면 테스터의 코드에 4줄을 추가하여 라이브러리의 핸들을 얻으려고 시도하고 로드된 경우 다시 복사하기 전에 언로드하는 것이 어떻습니까? 엉망이네요;;

 

전략 테스터 의 테이블 필드 중 하나에 현재 현지 시간을 SQLite로 쓰는 방법은 무엇입니까?

누굴

SELECT datetime('now');

하지만 데이터베이스에 하나의 쿼리를 보내고 싶습니다.

관심 있는 최적화 패스를 데이터베이스에 작성하고 싶습니다. 로컬 시간이 충분하지 않습니다. EA가 언제 어떤 매개변수를 조사했는지 잊어버렸습니다.

상향:

솔루션을 작업했습니다. 테스트 필드에 datetime()을 작성하는 것으로 충분합니다.

INSERT INTO "tst"("Field1") VALUES (datetime('now','localtime'));
 
Igor Makanu :

SQLite의 현재 현지 시간을 전략 테스터 의 테이블 필드 중 하나에 쓰는 방법은 무엇입니까?

누굴

하지만 데이터베이스에 하나의 쿼리를 보내고 싶습니다.

관심 있는 최적화 패스를 데이터베이스에 작성하고 싶습니다. 로컬 시간이 충분하지 않습니다. EA가 언제 어떤 매개변수를 조사했는지 잊어버렸습니다.

상향:

솔루션을 작업했습니다. 테스트 필드에 datetime()을 작성하는 것으로 충분합니다.

CREATE TABLE "foo" (

   "stamp" datetime default CURRENT_TIMESTAMP,

    --- прочие поля

);

이론적으로 롤링되어야 합니다. 현재 현지 시간에 레코드를 생성할 때 스탬프가 설정됩니다.

 
A100 :
모든 것을 하나의 예로 결합해 보겠습니다. 이제 일반적으로 모든 것이 동일하지만 질문은 동일합니다. (1)(2) 의 차이점은 무엇입니까?

글쎄, 문제가 기능과 이름의 유사성에 가장 가능성이 있다는 것은 분명합니다. 이것은 언어의 기능을 예상하여 말하자면 외모에 대한 평가입니다. ))) 글쎄, 이것은 작동해야합니다 ..... 나는 수많은 코드에서 그러한 오류를 찾는 것을 상상합니다.

확인됨 - 예 모든 것이 정확합니다. 컴파일러는 함수가 아니라 생성자 내부의 생성자를 두 번째로 호출하려고 합니다.

두 번째 변형에서 컴파일러는 구문 "f(" - 정확히 생성자 호출의 "함수"와 같은 구문)를 예약하는 것으로 나타났습니다.

 class B {
public :
        B( int ) {}
};
class A {
         int f( int ) { return 0 ; }
         void g1()    { B f = f( 1 );  } //(1) нормально
         void g2()    { B f(   this .f( 1 )); } //(2) Прекрасно работает
};


이것은 정확하지 않지만))) 그러나 ...

오히려 그렇더라도 "f("... 구문에서 클래스의 뒷괄호를 예상하여 그는 함수 f(...)에서 이를 만나 클래스로 닫습니다(즉, 우리의 경우, 함수 호출 대신 객체 B의 완전한 초기화가 있습니다) ... 그런 다음 클래스를 변수로 변환하려는 나머지 세그먼트를 해결합니다.

당신의 코드처럼 그는 어떻게 이해하려고 노력하고 있습니까?


 class B {
public :
        B( int ) {}
};
class A {
         int f( int ) { return 0 ; }
         void g1()    { B f = f( 1 );  } //(1) нормально
         void g2()    { B a( 1 );  B f (a( 1 )); } //(2) Error: '1' - some operator expected
};
Быстрое погружение в MQL5
Быстрое погружение в MQL5
  • www.mql5.com
Есть множество причин, по которым вы решили изучать современный язык программирования торговых стратегий MQL5, и мы только приветствуем это! Старожилы легко ориентируются как в самой документации по языку, так и в статьях и множестве сервисов, которые здесь представлены. Но если вы только открыли для себя клиентский терминал MetaTrader 5, то в...