오류, 버그, 질문 - 페이지 1873 1...186618671868186918701871187218731874187518761877187818791880...3184 새 코멘트 fxsaber 2017.04.24 11:43 #18721 Stanislav Korotky : 최신 빌드에서 EA 코드를 변경하고 재컴파일해도 테스터가 잡아내지 못하는 버그가 있었나요? 테스트를 시작하려면 새로운 ex5 변형에 대한 터미널을 닫았다가 다시 열어야 합니다. 그렇지 않으면 이전 것이 테스트됩니다. EA를 편집하고 CTRL+F5를 통해 또는 테스터에서 직접 적절한 결과를 봅니다. Stanislav Korotky 2017.04.24 11:51 #18722 fxsaber : EA를 편집하고 CTRL+F5를 통해 또는 테스터에서 직접 적절한 결과를 봅니다. Ctrl+F5가 디버깅 중입니까? 내 문제는 디버깅이 아니라 간단한 테스트를 시작하는 데 있습니다. fxsaber 2017.04.24 12:04 #18723 Stanislav Korotky : Ctrl+F5가 디버깅 중입니까? 내 문제는 디버깅이 아니라 간단한 테스트를 시작하는 데 있습니다. 시각 자료 없이 편집 후 실행합니다. Koldun Zloy 2017.04.24 15:58 #18724 fxsaber : 개인 생성자 로 숨겨진 클래스 객체 를 만드는 방법은 무엇입니까? 누수는 이렇게 진행됩니다 이러한 상황에서 소멸자를 호출하는 방법이 명확하지 않습니다. 싱글톤 - 그렇지 않습니다. private 생성자가 있는 클래스의 개체는 해당 클래스의 특수 정적 함수를 사용해서만 만들 수 있습니다. 지금은 컴파일러가 당신이 제공한 코드를 맹신하지 않지만, 이것은 미래에 수정될 것입니다. 스마트 포인터를 사용하여 소멸자를 호출할 수 있습니다. 이 경우 소멸자가 열려 있어야 합니다. fxsaber 2017.04.24 17:16 #18725 Koldun Zloy : private 생성자가 있는 클래스의 개체는 해당 클래스의 특수 정적 함수를 사용해서만 만들 수 있습니다. 지금은 컴파일러가 당신이 제공한 코드를 맹신하지 않지만, 이것은 미래에 수정될 것입니다. 제안된 통계입니다. 이 경우 방법은 일종의 자기기만이 될 것입니다. 왜냐하면 사실, 그것은 생성자가 될 것입니다. 그리고 분명히 호출해야 합니다. 스마트 포인터를 사용하여 소멸자를 호출할 수 있습니다. 이 경우 소멸자가 열려 있어야 합니다. 스마트 포인터란? Koldun Zloy 2017.04.25 02:16 #18726 생성자가 private이어야 한다고 확신한다면 다른 방법은 없습니다. 스마트 포인터는 간단한 포인터를 포함하고 적시에 삭제되도록 하는 개체입니다. class MyClass { public : MyClass(); }; struct MyClassPtr { MyClass* pMyClass; MyClassPtr( MyClass* myClass ) : pMyClass( myClass ) { } ~MyClassPtr() { delete pMyClass; } }; 이것은 가장 쉬운 옵션입니다. 더 복잡한 스마트 포인터도 있습니다. https://rsdn.org/res/book/cpp/cpp_real_programmers.xml에서 이에 대해 잘 설명되어 있습니다. C++ : библиотека программиста rsdn.org Глава 5. Умные указатели Глава 6. Ведущие указатели и дескрипторы Глава 7. Грани и другие мудрые указатели Глава 8. Коллекции, курсоры, итераторы Глава 9. Транзакции и гениальные указатели Konstantin 2017.04.25 03:24 #18727 코드를 컴파일하기 위해 누락된 것: class CMyClass { public : void * core; CMyClass( void ) : core( NULL ) { } template < typename T> void Create(T* a_ptr) { core = dynamic_cast <T *> (a_ptr); } }; class CCore { public : int var; CCore( void ) : var( 3 ) { } }; int OnInit () { CCore *_point_1 = new CCore(); CMyClass _obj; _obj.Create(_point_1); int _val = _obj.core.var; delete _point_1; //--- return INIT_SUCCEEDED ; } 이 변형에서 'var'를 씁니다. 구조체 멤버가 정의되지 않았습니다. 추신. 무엇이 잘못되었는지 이해 int _val = dynamic_cast <CCore *>(_obj.core).var ; fxsaber 2017.04.25 04:23 #18728 void* 는 언어에서 어떤 빌드를 사용합니까? Sergey Dzyublik 2017.04.25 04:34 #18729 fxsaber : void* 는 언어에서 어떤 빌드를 사용합니까? 인터페이스가 나타났을 때 fxsaber 2017.04.25 05:58 #18730 Sergey Dzyublik : 인터페이스가 나타났을 때 고맙습니다. 사실, 즉시 오류가 발생했습니다. struct PTR { void * Ptr; // internal error #40 }; 1...186618671868186918701871187218731874187518761877187818791880...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
최신 빌드에서 EA 코드를 변경하고 재컴파일해도 테스터가 잡아내지 못하는 버그가 있었나요? 테스트를 시작하려면 새로운 ex5 변형에 대한 터미널을 닫았다가 다시 열어야 합니다. 그렇지 않으면 이전 것이 테스트됩니다.
EA를 편집하고 CTRL+F5를 통해 또는 테스터에서 직접 적절한 결과를 봅니다.
Ctrl+F5가 디버깅 중입니까? 내 문제는 디버깅이 아니라 간단한 테스트를 시작하는 데 있습니다.
개인 생성자 로 숨겨진 클래스 객체 를 만드는 방법은 무엇입니까?
누수는 이렇게 진행됩니다
이러한 상황에서 소멸자를 호출하는 방법이 명확하지 않습니다. 싱글톤 - 그렇지 않습니다.
private 생성자가 있는 클래스의 개체는 해당 클래스의 특수 정적 함수를 사용해서만 만들 수 있습니다.
지금은 컴파일러가 당신이 제공한 코드를 맹신하지 않지만, 이것은 미래에 수정될 것입니다.
스마트 포인터를 사용하여 소멸자를 호출할 수 있습니다.
이 경우 소멸자가 열려 있어야 합니다.
private 생성자가 있는 클래스의 개체는 해당 클래스의 특수 정적 함수를 사용해서만 만들 수 있습니다.
지금은 컴파일러가 당신이 제공한 코드를 맹신하지 않지만, 이것은 미래에 수정될 것입니다.
제안된 통계입니다. 이 경우 방법은 일종의 자기기만이 될 것입니다. 왜냐하면 사실, 그것은 생성자가 될 것입니다. 그리고 분명히 호출해야 합니다.
스마트 포인터를 사용하여 소멸자를 호출할 수 있습니다.
이 경우 소멸자가 열려 있어야 합니다.
생성자가 private이어야 한다고 확신한다면 다른 방법은 없습니다.
스마트 포인터는 간단한 포인터를 포함하고 적시에 삭제되도록 하는 개체입니다.
이것은 가장 쉬운 옵션입니다.
더 복잡한 스마트 포인터도 있습니다.
https://rsdn.org/res/book/cpp/cpp_real_programmers.xml에서 이에 대해 잘 설명되어 있습니다.
코드를 컴파일하기 위해 누락된 것:
이 변형에서 'var'를 씁니다. 구조체 멤버가 정의되지 않았습니다.
추신. 무엇이 잘못되었는지 이해
int _val = dynamic_cast <CCore *>(_obj.core).var ;
void* 는 언어에서 어떤 빌드를 사용합니까?
인터페이스가 나타났을 때
인터페이스가 나타났을 때