오류, 버그, 질문 - 페이지 2271 1...226422652266226722682269227022712272227322742275227622772278...3184 새 코멘트 Georgiy Merts 2018.09.02 10:35 #22701 A100 : 컴파일 중 오류: 그리고 (1)(2)와 (3)(4)의 근본적인 차이점은 무엇입니까??? 함수 외부에서 클래스 (3)(4)를 선언하면 오류가 발생하지 않습니다. 함수 내에서 선언되면 발생합니다. Artyom Trishkin 2018.09.02 10:43 #22702 Vladimir Pastushak : 다음 동작의 원인이 될 수 있는 것 표시기를 컴파일하면 올바르게 작동하지만 다시 컴파일하면 표시기가 올바르게 작동하지 않습니다. 테스터에서 제대로 작동합니까? 어떤 지표? A100 2018.09.02 15:36 #22703 fxsaber : 여기서 C++는 무엇을 출력 합니까? 이것이 MQL5에서 작동하려면 동일한 것이 아니라 두 개의 다른 출력 문자열이 있어야 합니다. 그러나 서명 형성을 위한 완전히 다른 메커니즘이 있어야 합니다. C++가 동일한 결과를 인쇄하면 __FUNCSIG__의 가격이 크게 떨어집니다. 결과: C++ 무효 f<g1::A>( g1::A& ) 무효 f<g2::A>( g2::A& ) 보시다시피 라인이 다릅니다 ... 함수 서명이 사용됩니다 fxsaber 2018.09.02 15:57 #22704 A100 : 결과: C++ 무효 f<g1::A>( g1::A& ) 무효 f<g2::A>( g2::A& ) 보시다시피 라인이 다릅니다 ... 함수 서명이 사용됩니다 MQL5 문제 void f<A>(A&) 저것들. 함수 내부에는 클래스 서명이 없습니다. 언젠가는 지원될 것입니다. 그리고 클래스가 전역적이라면 C++는 어떤 라인을 출력합니까? 무효 f<::A>( ::A& ) 무효 f<A>( A& ) A100 2018.09.02 16:26 #22705 fxsaber : MQL5 문제 저것들. 함수 내부에는 클래스 서명이 없습니다. 언젠가는 지원될 것입니다. 오래된 C++ 컴파일러가 이를 지원하지 않으면 소스 코드 의 첫 번째 줄(1)에 이미 오류가 발생합니다. 따라서 처음에 질문은 다음과 같이 제기되었습니다. 한 경우에는 오류가 있고 다른 경우에는 정상인 이유는 무엇입니까? 오류 또는 오류 없음의 두 경우 모두 동일한 동작이 예상되었습니다. 그리고 오류는 지원이 부족한 것이 아니라 불평등한 행동, 다른 모든 것이 동일하다는 것입니다( 이 예 에서와 같이) A100 2018.09.02 16:27 #22706 fxsaber : 그리고 클래스가 전역인 경우 C++에서 출력하는 행은 무엇입니까? 무효 f<::A>( ::A& ) 무효 f<A>( A& ) 두 번째 옵션 fxsaber 2018.09.02 17:39 #22707 A100 : 오래된 C++ 컴파일러가 이를 지원하지 않으면 소스 코드 의 첫 번째 줄(1)에 이미 오류가 발생합니다. 따라서 처음에 질문은 다음과 같이 제기되었습니다. 한 경우에는 오류가 있고 다른 경우에는 정상인 이유는 무엇입니까? 오류 또는 오류 없음의 두 경우 모두 동일한 동작이 예상되었습니다. 그리고 오류는 지원이 부족한 것이 아니라 불평등한 행동, 다른 모든 것이 동일하다는 것입니다( 이 예 에서와 같이) 그래서 이해할 수 있습니다. 컴파일러는 코드를 통해 위에서 아래로 이동하여 적절한 서명을 생성합니다. 문제 없이 첫 번째 서명을 만들었습니다. 그것은 두 번째에 이르고 이것은 이미 존재합니다. 다음은 두 번째 줄의 오류입니다. A100 2018.09.02 17:42 #22708 Georgiy Merts : 함수 외부에서 클래스 (3)(4)를 선언하면 오류가 발생하지 않습니다. 함수 내에서 선언되면 발생합니다. 원래 예 에서 class A2 { int i; }; //(3) ~로 교체되다 interface A2 {}; //(5) 그러면 함수 내부에 오류가 없습니다 ... 그리고 근본적인 차이점은 무엇입니까? A100 2018.09.02 21:24 #22709 fxsaber : 그래서 이해할 수 있습니다. 컴파일러는 코드를 통해 위에서 아래로 이동하여 적절한 서명을 생성합니다. 문제 없이 첫 번째 서명을 만들었습니다. 그것은 두 번째에 이르고 이것은 이미 존재합니다. 다음은 두 번째 줄의 오류입니다. 그리고 오류 없이 MQL로 컴파일되는 이유는 무엇입니까? template < typename T> void f() { Print ( __FUNCSIG__ ); } void g1() { class A { int x; } a; f<A>(); } void g2() { class A { double x; } a; f<A>(); } void OnStart () { g1(); g2(); } 결과: MQL C++ 무효 f<A>() 무효 f<g1::A>() 무효 f<A>() 무효 f<g2::A>() 여기서 간섭 없이 서명이 생성되는 이유는 무엇입니까? fxsaber 2018.09.02 22:07 #22710 A100 : 그리고 오류 없이 MQL로 컴파일되는 이유는 무엇입니까? 결과: MQL C++ 무효 f<A>() 무효 f<g1::A>() 무효 f<A>() 무효 f<g2::A>() 여기서 간섭 없이 서명이 생성되는 이유는 무엇입니까? 하나는 생성 중입니다. 게다가, f에서 T를 사용할 수 없습니다. 일반적으로 상황은 나에게 분명합니다. 1...226422652266226722682269227022712272227322742275227622772278...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
컴파일 중 오류:
그리고 (1)(2)와 (3)(4)의 근본적인 차이점은 무엇입니까???
함수 외부에서 클래스 (3)(4)를 선언하면 오류가 발생하지 않습니다. 함수 내에서 선언되면 발생합니다.
다음 동작의 원인이 될 수 있는 것
표시기를 컴파일하면 올바르게 작동하지만 다시 컴파일하면 표시기가 올바르게 작동하지 않습니다. 테스터에서 제대로 작동합니까?
어떤 지표?
여기서 C++는 무엇을 출력 합니까?
이것이 MQL5에서 작동하려면 동일한 것이 아니라 두 개의 다른 출력 문자열이 있어야 합니다. 그러나 서명 형성을 위한 완전히 다른 메커니즘이 있어야 합니다. C++가 동일한 결과를 인쇄하면 __FUNCSIG__의 가격이 크게 떨어집니다.
결과: C++
무효 f<g1::A>( g1::A& )
무효 f<g2::A>( g2::A& )
보시다시피 라인이 다릅니다 ... 함수 서명이 사용됩니다
결과: C++
무효 f<g1::A>( g1::A& )
무효 f<g2::A>( g2::A& )
보시다시피 라인이 다릅니다 ... 함수 서명이 사용됩니다
MQL5 문제
void f<A>(A&)
저것들. 함수 내부에는 클래스 서명이 없습니다. 언젠가는 지원될 것입니다.
그리고 클래스가 전역적이라면 C++는 어떤 라인을 출력합니까?
무효 f<::A>( ::A& )
무효 f<A>( A& )
MQL5 문제
저것들. 함수 내부에는 클래스 서명이 없습니다. 언젠가는 지원될 것입니다.
오래된 C++ 컴파일러가 이를 지원하지 않으면 소스 코드 의 첫 번째 줄(1)에 이미 오류가 발생합니다. 따라서 처음에 질문은 다음과 같이 제기되었습니다. 한 경우에는 오류가 있고 다른 경우에는 정상인 이유는 무엇입니까?
오류 또는 오류 없음의 두 경우 모두 동일한 동작이 예상되었습니다. 그리고 오류는 지원이 부족한 것이 아니라 불평등한 행동, 다른 모든 것이 동일하다는 것입니다( 이 예 에서와 같이)
그리고 클래스가 전역인 경우 C++에서 출력하는 행은 무엇입니까?
무효 f<::A>( ::A& )
무효 f<A>( A& )
두 번째 옵션
오래된 C++ 컴파일러가 이를 지원하지 않으면 소스 코드 의 첫 번째 줄(1)에 이미 오류가 발생합니다. 따라서 처음에 질문은 다음과 같이 제기되었습니다. 한 경우에는 오류가 있고 다른 경우에는 정상인 이유는 무엇입니까?
오류 또는 오류 없음의 두 경우 모두 동일한 동작이 예상되었습니다. 그리고 오류는 지원이 부족한 것이 아니라 불평등한 행동, 다른 모든 것이 동일하다는 것입니다( 이 예 에서와 같이)
그래서 이해할 수 있습니다. 컴파일러는 코드를 통해 위에서 아래로 이동하여 적절한 서명을 생성합니다. 문제 없이 첫 번째 서명을 만들었습니다. 그것은 두 번째에 이르고 이것은 이미 존재합니다. 다음은 두 번째 줄의 오류입니다.
함수 외부에서 클래스 (3)(4)를 선언하면 오류가 발생하지 않습니다. 함수 내에서 선언되면 발생합니다.
~로 교체되다
그러면 함수 내부에 오류가 없습니다 ... 그리고 근본적인 차이점은 무엇입니까?
그래서 이해할 수 있습니다. 컴파일러는 코드를 통해 위에서 아래로 이동하여 적절한 서명을 생성합니다. 문제 없이 첫 번째 서명을 만들었습니다. 그것은 두 번째에 이르고 이것은 이미 존재합니다. 다음은 두 번째 줄의 오류입니다.
그리고 오류 없이 MQL로 컴파일되는 이유는 무엇입니까?
결과: MQL C++
무효 f<A>() 무효 f<g1::A>()
무효 f<A>() 무효 f<g2::A>()
여기서 간섭 없이 서명이 생성되는 이유는 무엇입니까?
그리고 오류 없이 MQL로 컴파일되는 이유는 무엇입니까?
결과: MQL C++
무효 f<A>() 무효 f<g1::A>()
무효 f<A>() 무효 f<g2::A>()
여기서 간섭 없이 서명이 생성되는 이유는 무엇입니까?
하나는 생성 중입니다. 게다가, f에서 T를 사용할 수 없습니다. 일반적으로 상황은 나에게 분명합니다.