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

 
A100 :

출력은 정확히 문자열 리터럴 입니다. 인쇄가 전혀 없다는 증거는 다음과 같습니다.

나는 컴파일러 경고를 믿지 않는다!

'+'는 문자열이 아닙니다! 이것은 mql ushort 2바이트의 문자 유형입니다.

점.

오히려 경고 설명의 오류입니다.

 
Roman :

나는 컴파일러 경고를 믿지 않는다!
' '은(는) 문자열이 아닙니다! 그것은 문자 유형입니다!

오히려 경고 설명의 오류입니다.

믿음과 가정의 문제가 아닙니다. 증거가 필요합니다. typename이 문자열이 아닌 리터럴을 반환한다는 것을 증명하는 인쇄가 없는 예가 있습니까? 우리는 언제 계속할 것인가

 
A100 :

이것은 믿음과 가정의 문제가 아닙니다. 증거가 필요합니다. 반환되는 문자열 리터럴이 아님을 증명하는 인쇄가 없는 예가 있습니까? 우리는 언제 계속할 것인가

typename은 동일한 이름을 반환하지만 문자열로 반환됩니다.
그럴 수도 있지만 차이점은 무엇입니까?  
우리는 유형의 이름을 얻었고 얻었습니다. 나는 당신이 나에게 증명하려는 것을 이해하지 못합니까?
어떤 유형 이름이 반환합니까?   유형 string , 글쎄요, 논리적이고 이름을 반환합니다.
유형 이름이 반환된다는 의미, 즉 유형이 문자로 작성됨))
나는 그것이 어떤 유형으로 반환되는지 전혀 생각하지 않았고 당신은 그것에 푹 빠졌습니다.
일반적으로 holivar는 아무것도 아닙니다.
 
Roman :
typename 은 동일한 이름을 반환하지만 문자열반환 됩니다.
그럴 수도 있지만 차이점은 무엇입니까?  

부정의 단계를 넘어선 것 같은데... 자각의 단계가 시작됩니다. 귀찮게 안 굴 게요

 
A100 :

부정의 단계를 넘어선 것 같은데... 자각의 단계가 시작됩니다. 귀찮게 안 굴 게요

다시 한 번, 나는 타입 자체가 반환된다고 주장한 것이 아니라, 타입의 NAME이 반환되었다고 주장했습니다.
어떤 유형의 NAME이 반환되는지, 나는 우리의 대화에서 그것에 대해 전혀 생각하지 않았습니다.
따라서 자각의 단계는 그것과 아무 상관이 없고, 따라서 이름이 문자열이면 문자열인 것은 자명하다.
그러나 mql ushort도 있습니다. 괜찮지 않으시겠지만 여기서 저는 12바이트 문자열이 typename에 채워질지 의심했습니다.
유형 자체가 반환되면 완전히 날아갈 것입니다))
즉석에서 변수를 정의하는 것이 가능합니다))
이것이 컴파일된 프로그램, 사실 일반적인 메모리 할당 에서 가능한지 모르겠습니다.

 
A100 :

이것은 추상 언어로 되어 있지만 MQL은 추상성과 함께 작동하지 않았습니다. 아마도 이것은 속도와 결합될 수 없습니다.

다음은 12바이트가 문자열 유형 에 적합한지 확인하는 또 다른 옵션입니다.

 Print ( sizeof ( typename ()));
 
Roman :

다음은 12바이트가 문자열 유형 에 적합한지 확인하는 또 다른 옵션입니다.

또한 문서에 모든 것이 올바르게 작성되었음을 의미합니다(그러나 이것은 간접적인 증거 이기도 합니다).

 
그래도 난 시스템을 속였어

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

A100 , 2020.10.09 00:38

컴파일 중 오류:
 void OnStart ()
{
    Print(typename("ushort"));      //(1) нормально
     Print ( typename ( typename ( '+' ))); //(2) Error: 'typename' - unexpected token
}

이중 유형 이름

 template < typename T>
T f( T ) { return typename (T); }
void OnStart ()
{
         Print (f( typename ( '+' )));
}

결과: 문자열

저것들. 간접적 이 아닌 이미 직접적인 증거
 
A100 :

또한 모든 것이 문서에 올바르게 작성되었음을 의미합니다.

예, 템플릿 설명서에 모든 것이 올바르게 설명되어 있습니다.
typename은 템플릿에 대해 선명하게 표시되므로 문자열 유형을 반환합니다.
처음에는 TYPE이 아닌 NAME 유형이 반환된다는 내가 쓴 내용을 이해하지 못했을 뿐입니다.))
그리고 당신은 반환된 문자열에 대해 이 NAME을 설명하기 시작했습니다))
그들은 나를 혼란스럽게 했고 나는 의심했고 ushort가 돌아올 수 있다고 생각했습니다.
그러나 아니요, 문자열은 여전히 있습니다.

 
Roman :

글쎄요, 물론 제 잘못입니다 . 문서를 읽지 않고 그런 항목을 생각해 냈습니다.

( typename )J

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

로만 , 2020.10.07 17:20

예, 이것도 컴파일 오류 입니다.

 #define J '+'            // char

void OnStart ()
{
     Print (( typename )J);
}
 #define J '+'            // char

void OnStart ()
{
     Print (( typename )(J));
}

사유: