오류, 버그, 질문 - 페이지 1087 1...108010811082108310841085108610871088108910901091109210931094...3184 새 코멘트 A100 2013.12.17 08:54 #10861 파생 클래스에 대한 기본 클래스 포인터를 명시적으로 캐스팅할 때 약식 접미사 operator++ 표기법이 컴파일되지 않습니다. class A { }; class B : public A { public : void operator ++( int ) {} void operator ++() {} }; void f( A* a ) { ((B *)a). operator ++( 0 ); //нормально ((B *)a). operator ++(); //нормально ++((B *)a); //нормально ((B *)a)++; //ошибка } A100 2013.12.18 11:59 #10862 적어도 컴파일러는 af()가 const가 아니라는 경고를 주어야 합니다. class A { public : int f() { return ( 1 ); } }; class B { public : B( const A *aa ) : a( aa ) {} int g() { return ( a.f() ); } //должно быть предупреждение, поскольку a.f() не const const A *a; }; Ilyas 2013.12.18 13:32 #10863 A100 : 적어도 컴파일러는 af()가 const가 아니라는 경고를 주어야 합니다. 관심을 가져주셔서 감사합니다. 두 오류가 모두 수정되었습니다. A100 2013.12.18 14:18 #10864 mql5 : 관심을 가져주셔서 감사합니다. 두 오류가 모두 수정되었습니다. 마지막 하나만 공식적으로 오류가 아닙니다. 경고만 있어야 합니다. 다음 경우에만 오류 class B { public : A * const a; }; 그러나 템플릿에서. 예는 나중에 제공됩니다. A100 2013.12.18 17:44 #10865 여기도 명확하지 않습니다. class A { public : }; void ex1( const A* &t1, const A* &t2 ) { const A* t = t1; t1 = t2; t2 = t; } void OnStart () { const A *a1 = new A(), *a2 = new A(); Print ( "Было :" a1, " ", a2 ); // Было :1 2 ex1( a1, a2 ); Print ( "Стало:" a1, " " , a2 ); // Стало:2 1 delete ( a1 ); delete ( a2 ); } 모든 것이 올바르게 작동하지만 중간 함수 ex2(...)를 추가하면 void ex2( const A* &t1, const A* &t2 ) { ex1( t1, t2 ); } void OnStart () { сonst A *a1 = new A(), *a2 = new A(); Print ( "Было: " , a1, " ", a2 ); // Было :1 2 ex2( a1, a2 ); Print ( "Стало:", a1, " ", a2 ); // Cтало:2 2 <----- delete ( a1 ); delete ( a2 ); } 결과가 다릅니다. ex2(...)는 무엇을 했습니까? - 참조로 포인터를 추가로 전달했습니다. 봐주세요 Ilyas 2013.12.19 11:39 #10866 A100 : 여기도 명확하지 않습니다. 모든 것이 올바르게 작동하지만 중간 함수 ex2(...)를 추가하면 결과가 다릅니다. ex2(...)는 무엇을 했습니까? - 참조로 포인터를 추가로 전달했습니다. 봐주세요 감사합니다. 언어 최적화 프로그램 버그가 수정되었습니다. Aleksey Rodionov 2013.12.20 19:29 #10867 처음은 아니지만 업로드할 때 사진을 여기서만 얻습니다. 즉, 몇 가지 기준이 있습니다(아마도 특정 크기가 ). 모든 곳에서 정상적으로 표시됩니다. 무슨 일인지 알려주세요. A100 2013.12.21 18:10 #10868 매크로에서 결과형 변환을 사용하고 나중에 반환값을 사용하지 않으면 불필요한 컴파일 에러가 발생한다 (필요할 때도 있고 아닐 때도 있음) int g( int x ) { return ( x ); } #define F( X ) ( long )g( X ) void OnStart () { int f = F( 0 ); //нормально F( 0 ); //ошибка компиляции } Alexey Da 2013.12.23 09:18 #10869 A100 : 매크로에서 결과형 변환을 사용하고 나중에 반환값을 사용하지 않으면 불필요한 컴파일 에러가 발생한다 (필요할 때도 있고 아닐 때도 있음) 정의의 사용과 관련이 없습니다. 단순하게 정의하는 것과 동일한 오류도 발생합니다. ( long )g( 0 );'(long)' - expression has no effect 추신: 이제 경고가 표시됩니다. Andrey Vasiliev 2013.12.24 07:28 #10870 표시기를 다시 컴파일한 후 동적 배열 로 작업할 때 "배열이 범위를 벗어남" 오류가 표시되기 시작했습니다. 이전에는 없었습니다. 무엇을 할까요? Документация по MQL5: Основы языка / Типы данных / Объект динамического массива www.mql5.com Основы языка / Типы данных / Объект динамического массива - Документация по MQL5 1...108010811082108310841085108610871088108910901091109210931094...3184 새 코멘트 사유: 취소 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
파생 클래스에 대한 기본 클래스 포인터를 명시적으로 캐스팅할 때 약식 접미사 operator++ 표기법이 컴파일되지 않습니다.
적어도 컴파일러는 af()가 const가 아니라는 경고를 주어야 합니다.
관심을 가져주셔서 감사합니다. 두 오류가 모두 수정되었습니다.
그러나 템플릿에서. 예는 나중에 제공됩니다.
여기도 명확하지 않습니다.
모든 것이 올바르게 작동하지만 중간 함수 ex2(...)를 추가하면
결과가 다릅니다. ex2(...)는 무엇을 했습니까? - 참조로 포인터를 추가로 전달했습니다.
봐주세요
여기도 명확하지 않습니다.
모든 것이 올바르게 작동하지만 중간 함수 ex2(...)를 추가하면
결과가 다릅니다. ex2(...)는 무엇을 했습니까? - 참조로 포인터를 추가로 전달했습니다.
봐주세요
처음은 아니지만 업로드할 때 사진을 여기서만 얻습니다. 즉, 몇 가지 기준이 있습니다(아마도 특정 크기가
). 모든 곳에서 정상적으로 표시됩니다. 무슨 일인지 알려주세요.
매크로에서 결과형 변환을 사용하고 나중에 반환값을 사용하지 않으면 불필요한 컴파일 에러가 발생한다 (필요할 때도 있고 아닐 때도 있음)
정의의 사용과 관련이 없습니다.
단순하게 정의하는 것과 동일한 오류도 발생합니다.
추신: 이제 경고가 표시됩니다.
표시기를 다시 컴파일한 후 동적 배열 로 작업할 때 "배열이 범위를 벗어남" 오류가 표시되기 시작했습니다.
이전에는 없었습니다. 무엇을 할까요?