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

 
Ilyas :

가까운 장래에 해당 변환 연산자가 클래스에 오버로드되면 호출됩니다.

음, 맛있다) 아주 좋은 소식
 
솔직히 말해서, 나는 이 캐스트가 노골적이라는 점을 감안할 때 잘못된 점을 보지 못했습니다. 왜 여기에 실수가 있어야합니까? 누군가가 디스크립터의 숫자 값을 얻으려면 여기에 오류가 없습니다.
 
Ilyas :
그러나 디스크립터를 숫자로 또는 그 반대로 캐스팅하는 것은 의미가 없으며 아마도 코드의 오류일 가능성이 큽니다.
포인터가 명시적으로 숫자로 변환되는 코드 조각이 있습니다(외부 쓰기/읽기 시스템과의 인터페이스, 오류 분석 및 디버깅용). 이것이 금지되면 유연성이 감소하고 다시 실행해야 합니다.
 
Ilyas :
물론 "메모리에 저장되는 방식"의 관점에서 보면 맞습니다.
그러나 디스크립터를 숫자로 또는 그 반대로 캐스팅하는 것은 의미가 없으며 아마도 코드의 오류일 가능성이 큽니다.
가까운 장래에 해당 변환 연산자가 클래스에 오버로드되면 호출됩니다.
여기에 경고가 있을 수 있지만 오류는 아닙니다.
 
Ilyas :
물론 "메모리에 저장되는 방식"의 관점에서 보면 맞습니다.
그러나 디스크립터를 숫자로 또는 그 반대로 캐스팅하는 것은 의미가 없으며 아마도 코드의 오류일 가능성이 큽니다.
가까운 장래에 해당 변환 연산자가 클래스에 오버로드되면 호출됩니다.

물론 이것은 부주의로 인한 내 실수였습니다. 나는 이미 이것에 대해 썼습니다. 일반적으로 내 오류의 95%는 체계적이지 않지만 부주의로 인한 것입니다.) 그런데 나는 또한 설명자를 숫자로 가져올 이유가 없습니다. 포인터를 사용하면 더 흥미롭고 포인터 산술이 있습니다. 예를 들어 double을 바이트로 구문 분석하거나 중요하지 않은 작업을 수행할 수 있습니다. 그리고 디스크립터는 런타임 MT4 시스템에서 발행한 일종의 내부 식별자일 뿐 아무 것도 할 수 없습니다.

이것이이 오류가 발생한 방식입니다. 밤에는 코드를 작성할 것이 없습니다))

 // order - это дескриптор экземпляра класса, создается вот так после открытия ордера, потом заносится в CList открытых ордеров.
// COrder* order = new COrder(ticket, symbol, cmd, volume, price, timeOpen, magic, stoploss, takeprofit, comment, expiration);

// так было неправильно, просто я перепутал order с тикетом, забыл, что это же экземпляр класса, уставший был ))
logBuf[logBufCount++] = double (order);

// так правильно
logBuf[logBufCount++] = ( double )order.Ticket
 
A100 :
설명자는 여전히 특정 숫자입니다. 이 숫자가 특정 메모리 영역을 가리키지 않는다는 사실은 숫자의 속성을 박탈하지 않습니다.

그런 다음 문자열은 특정 숫자의 집합이기도 합니다. 그리고 그림은 또한 숫자이자 마이크로 회로의 전기 충격입니다 ...

일반적으로 전기 공학을 배우십시오. 동료.

 
Alexey Navoykov :
솔직히 말해서, 나는 이 캐스트가 노골적이라는 점을 감안할 때 잘못된 점을 보지 못했습니다. 왜 여기에 실수가 있어야합니까? ...

유형 제어가 위반되고 MQL 가상 머신 인 관리 환경이 다음과 같은 것을 중지해야 하기 때문에:

MQL != C++

 
Ilyas :
물론 "메모리에 저장되는 방식"의 관점에서 보면 맞습니다.
그러나 디스크립터를 숫자로 또는 그 반대로 캐스팅하는 것은 의미가 없으며 아마도 코드의 오류일 가능성이 큽니다.
가까운 장래에 해당 변환 연산자가 클래스에 오버로드되면 호출됩니다.
매우 멋지고 가장 중요하게는 이데올로기적으로 정확합니다. 두 손을 위해!
 
Alexey Volchanskiy :

그건 그렇고, 나는 설명자를 어떤 숫자로도 캐스팅 할 이유가 없습니다 ...

그런 의미가 있습니다. 이것은 정의상 고유한 설명자가 클래스의 키가 될 수 있는 사전과 같은 특정 데이터 컨테이너에 매우 유용한 속성입니다. 이 경우 해시를 계산할 필요가 없으며 가장 중요한 것은 개체의 고유성을 참조와 값(일반적으로 다른 개념)으로 구별하는 것이 가능하다는 것입니다. 또한 상속 채권에 의해 서로 관련이 없는 클래스를 컬렉션에 배치할 수 있습니다.
 
Alexey Volchanskiy :

그리고 디스크립터는 런타임 MT4 시스템에서 발행한 일종의 내부 식별자일 뿐 아무 것도 할 수 없습니다.

다른 사람들은 그렇게합니다. 새로운 지평을 엽니다.