MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1096 1...108910901091109210931094109510961097109810991100110111021103...1953 새 코멘트 Seric29 2020.03.20 01:22 #10951 클래스 메서드 에 대한 포인터를 만드는 방법은 무엇입니까? class qer{ public : int _int( int q){...} int int_( int q){...} };qer *_qer 함수 포인터 _int 및 int_를 만들어야 합니다. mql4에서는 포인터와 클래스에 대해 설명합니다( https://docs.mql4.com/ru/basis/types/this , https://docs.mql4.com/ru/basis/types/object_pointers , https: //docs.mql4.com/ru/common/getpointer ) 그러나 주석이 없고 그것이 무엇을 위한 것이며 무엇을 하는지 명확하지 않습니다. 클래스가 없으면 typedef를 사용하여 포인터를 선언하는 것은 어렵지 않지만 클래스에서 어떻게 작동하는지 알고 싶습니다. 클래스 함수에 대해 typedef를 적용하려고 하면 이 함수 유형에 대한 오류 포인터가 아직 지원되지 않습니다. 위의 지침을 시도했지만 무엇에 대해 표시되지 않고 코멘트가 없으며 나에게 아무 일도 일어나지 않았습니다. Vladimir Simakov 2020.03.20 05:29 #10952 Seric29 : 클래스 메서드 에 대한 포인터를 만드는 방법은 무엇입니까? 함수 포인터 _int 및 int_를 만들어야 합니다. mql4에서는 포인터와 클래스에 대해 설명합니다( https://docs.mql4.com/ru/basis/types/this , https://docs.mql4.com/ru/basis/types/object_pointers , https: //docs.mql4.com/ru/common/getpointer ) 그러나 주석이 없고 그것이 무엇을 위한 것이며 무엇을 하는지 명확하지 않습니다. 클래스가 없으면 typedef를 사용하여 포인터를 선언하는 것은 어렵지 않지만 클래스에서 어떻게 작동하는지 알고 싶습니다. 클래스 함수에 대해 typedef를 적용하려고 하면 이 함수 유형에 대한 오류 포인터가 아직 지원되지 않습니다. 위의 지침을 시도했지만 무엇에 대해 표시되지 않고 코멘트가 없으며 나에게 아무 일도 일어나지 않았습니다. 금지된다 Igor Makanu 2020.03.20 06:36 #10953 Vladimir Simakov : 금지된다 https://www.mql5.com/ru/docs/basis/types/casting#dynamic_cast Vladimir Simakov 2020.03.20 06:57 #10954 Igor Makanu : https://www.mql5.com/ru/docs/basis/types/casting#dynamic_cast 하지 그. 사람은 상속자에 대한 캐스트가 아니라 클래스 메서드에 대한 포인터가 필요합니다. Igor Makanu 2020.03.20 07:32 #10955 Vladimir Simakov : 하지 그. 사람은 상속자에 대한 캐스트가 아니라 클래스 메서드에 대한 포인터가 필요합니다. 다른 선택 없음 - 액세스 제어가 없는 절차적 스타일 또는 액세스 제어 및 유형이 있는 OOP 좋아요, 작성자가 항상 고도로 전문화된 문제를 가지고 있다는 것은 중요하지 않습니다.) [삭제] 2020.03.20 07:34 #10956 Seric29 : 클래스 메서드 에 대한 포인터를 만드는 방법은 무엇입니까? 함수 포인터 _int 및 int_를 만들어야 합니다. mql4에서는 포인터와 클래스에 대해 설명합니다( https://docs.mql4.com/ru/basis/types/this , https://docs.mql4.com/ru/basis/types/object_pointers , https: //docs.mql4.com/ru/common/getpointer ) 그러나 주석이 없고 그것이 무엇을 위한 것이며 무엇을 하는지 명확하지 않습니다. 클래스가 없으면 typedef를 사용하여 포인터를 선언하는 것은 어렵지 않지만 클래스에서 어떻게 작동하는지 알고 싶습니다. 클래스 함수에 대해 typedef를 적용하려고 하면 이 함수 유형에 대한 오류 포인터가 아직 지원되지 않습니다. 위의 지침을 시도했지만 무엇에 대해 표시되지 않고 코멘트가 없으며 나에게 아무 일도 일어나지 않았습니다. 그냥 궁금합니다. 어떻게 사용할 계획인가요? Seric29 2020.03.20 14:17 #10957 전체 클래스에 대한 포인터를 여기에 저장해야 하는 이유는 https://docs.mql4.com/en/basis/types/this 의 예입니다. //+------------------------------------------------------------------+ //| возвращает собственный указатель | //+------------------------------------------------------------------+ CDemoClass *CDemoClass::getDemoClass( void ) { return ( GetPointer ( this )); } 그럼 어떻게 할까요? Seric29 2020.03.20 14:37 #10958 Vladimir Simakov : 금지된다 이것이 수행될 수 없는 경우 질문이 발생합니다. 그러면 함수를 허용하는 클래스에 함수가 작성되는 이유는 무엇입니까? 게다가 때로는 인터페이스를 구현해야 하고 어떤 함수를 호출해야 할지 모를 때도 있습니다. Vladimir Simakov 2020.03.20 18:53 #10959 Seric29 : 이 작업을 수행할 수 없는 경우 문제가 발생합니다. 그러면 함수를 허용하는 클래스에 함수가 작성되는 이유는 무엇입니까? 게다가 때로는 인터페이스를 구현해야 하고 어떤 함수를 호출해야 할지 모를 때도 있습니다. 어떤가요? Seric29 2020.03.20 19:56 #10960 Vladimir Simakov : 어떤가요? 함수 포인터는 매개변수로 전달됩니다. 나는 수업에서 아무도 그것을 하는 방법을 알아내지 못했다는 것을 안다. 나는 또한 그것이 제공하는 클래스에 대한 포인터를 반환해야 하는 이유를 여전히 이해하지 못합니다. 여기에 흥미로운 예가 있지만 이것은 내 질문이 아닙니다. #property strict class CStrategy; typedef bool (*SignalFn)(CStrategy*); // Global function definitions bool IsBuySignal(CStrategy*ptr) { return ptr.IsBuySignal(); } bool IsSellSignal(CStrategy*ptr) { return ptr.IsSellSignal(); } // Create an abstract base class class CStrategy { public : virtual bool IsBuySignal( void )= 0 ; virtual bool IsSellSignal( void )= 0 ; }; // Derived class class Strat1 : public CStrategy { public : // Implement the required functions bool IsBuySignal( void ) { return true ;} bool IsSellSignal( void ) { return true ;} }; void OnStart () { // instantiate a class Strat1 strat1; // Global functions work as expected SignalFn ptrSignalFn; // pointer to a signal function ptrSignalFn = IsBuySignal; if ( ptrSignalFn(&strat1) ) { Print ( "Is Buy" ); } } 디렉토리에서도 비슷한 것을 보았지만 이미 이 사이트를 닫았습니다. 손이 아프고 일을 해야 합니다. 1...108910901091109210931094109510961097109810991100110111021103...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
클래스 메서드 에 대한 포인터를 만드는 방법은 무엇입니까?
함수 포인터 _int 및 int_를 만들어야 합니다.
mql4에서는 포인터와 클래스에 대해 설명합니다( https://docs.mql4.com/ru/basis/types/this , https://docs.mql4.com/ru/basis/types/object_pointers , https: //docs.mql4.com/ru/common/getpointer ) 그러나 주석이 없고 그것이 무엇을 위한 것이며 무엇을 하는지 명확하지 않습니다. 클래스가 없으면 typedef를 사용하여 포인터를 선언하는 것은 어렵지 않지만 클래스에서 어떻게 작동하는지 알고 싶습니다.클래스 메서드 에 대한 포인터를 만드는 방법은 무엇입니까?
함수 포인터 _int 및 int_를 만들어야 합니다.
mql4에서는 포인터와 클래스에 대해 설명합니다( https://docs.mql4.com/ru/basis/types/this , https://docs.mql4.com/ru/basis/types/object_pointers , https: //docs.mql4.com/ru/common/getpointer ) 그러나 주석이 없고 그것이 무엇을 위한 것이며 무엇을 하는지 명확하지 않습니다. 클래스가 없으면 typedef를 사용하여 포인터를 선언하는 것은 어렵지 않지만 클래스에서 어떻게 작동하는지 알고 싶습니다.금지된다
https://www.mql5.com/ru/docs/basis/types/casting#dynamic_cast
https://www.mql5.com/ru/docs/basis/types/casting#dynamic_cast
하지 그. 사람은 상속자에 대한 캐스트가 아니라 클래스 메서드에 대한 포인터가 필요합니다.
다른 선택 없음 - 액세스 제어가 없는 절차적 스타일 또는 액세스 제어 및 유형이 있는 OOP
좋아요, 작성자가 항상 고도로 전문화된 문제를 가지고 있다는 것은 중요하지 않습니다.)
클래스 메서드 에 대한 포인터를 만드는 방법은 무엇입니까?
함수 포인터 _int 및 int_를 만들어야 합니다.
mql4에서는 포인터와 클래스에 대해 설명합니다( https://docs.mql4.com/ru/basis/types/this , https://docs.mql4.com/ru/basis/types/object_pointers , https: //docs.mql4.com/ru/common/getpointer ) 그러나 주석이 없고 그것이 무엇을 위한 것이며 무엇을 하는지 명확하지 않습니다. 클래스가 없으면 typedef를 사용하여 포인터를 선언하는 것은 어렵지 않지만 클래스에서 어떻게 작동하는지 알고 싶습니다.그냥 궁금합니다. 어떻게 사용할 계획인가요?
전체 클래스에 대한 포인터를 여기에 저장해야 하는 이유는 https://docs.mql4.com/en/basis/types/this 의 예입니다.
그럼 어떻게 할까요?
금지된다
이것이 수행될 수 없는 경우 질문이 발생합니다. 그러면 함수를 허용하는 클래스에 함수가 작성되는 이유는 무엇입니까? 게다가 때로는 인터페이스를 구현해야 하고 어떤 함수를 호출해야 할지 모를 때도 있습니다.
이 작업을 수행할 수 없는 경우 문제가 발생합니다. 그러면 함수를 허용하는 클래스에 함수가 작성되는 이유는 무엇입니까? 게다가 때로는 인터페이스를 구현해야 하고 어떤 함수를 호출해야 할지 모를 때도 있습니다.
어떤가요?
어떤가요?
함수 포인터는 매개변수로 전달됩니다. 나는 수업에서 아무도 그것을 하는 방법을 알아내지 못했다는 것을 안다. 나는 또한 그것이 제공하는 클래스에 대한 포인터를 반환해야 하는 이유를 여전히 이해하지 못합니다.
여기에 흥미로운 예가 있지만 이것은 내 질문이 아닙니다.
디렉토리에서도 비슷한 것을 보았지만 이미 이 사이트를 닫았습니다. 손이 아프고 일을 해야 합니다.