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

 
Karputov Vladimir :
가상의(또는 가상의) 구독자를 대신하여 질문하지 마세요. 구독자가 질문이 있으면 질문하게 하세요. 그렇지 않으면 신호의 광고로 간주하겠습니다.
오해하신 것 같아 제 시그널은 오랫동안 광고가 필요하지 않았습니다. 나는 내가 사용하는 서비스의 기술적 측면을 이해하려고 노력합니다. 그러나 그들은 나에게 먼저 눈을 돌린다.
 
Artem Prischepa :
오해하신 것 같아 제 시그널은 오랫동안 광고가 필요하지 않았습니다. 나는 내가 사용하는 서비스의 기술적 측면을 이해하려고 노력합니다. 그러나 그들은 나에게 먼저 눈을 돌린다.
이 경우 Signals 서비스(첫 번째 게시물)에 대한 FAQ 주제 의 질문을 연구하십시오.
[삭제]  

이것은 버그입니까, 아니면 언어에 대한 이해가 부족합니까?

 void Func( int & Tmp )
{
   return ;
}

void OnStart ( void )
{
   int Tmp1, Tmp2;
  
  Func(( 0 > 1 ) ? Tmp1 : Tmp2); // '?' - parameter passed as reference, variable expected 
    
   return ;
}
 
zaskok3 :

이것은 버그입니까, 아니면 언어에 대한 이해가 부족합니까?

삼항 연산 표현식의 결과는 Tmp1 변수 또는 Tmp2 변수의 내용입니다.

그리고 표현식의 결과가 아니라 Func 함수에 전달되어야 하지만 참조는

 

이 문제를 해결하는 방법?

RENKO 해도를 작성하는 해도에 Expert Advisor를 설치한 후 터미널이 멈춥니다.

터미널을 다시 시작해도 도움이 되지 않습니다. 폴더에서 전문가 삭제 - 도움이 되지 않았습니다!

무엇을 할까요?

win7/64mt4/950

[삭제]  
Slawa :

삼항 연산 표현식의 결과는 Tmp1 변수 또는 Tmp2 변수 의 내용 입니다.

변수 자체가 아니라 내용입니까? 분명히, 나는 여기에 약한 이해가 있습니다. 고맙습니다!

삼항 대안을 시도했지만 작동하지 않았습니다.

 //  Func((0 > 1) ? Tmp1 : Tmp2); // '?' - parameter passed as reference, variable expected
  
   // Так не пашет
  ( 0 > 1 ) ? Func(Tmp1) : Func(Tmp2); // 'Func' - expression of 'void' type is illegal
  
   // Так, конечно, работает
   if ( 0 > 1 )
    Func(Tmp1);
   else
    Func(Tmp2);

할당없이 여기 삼항.

 
zaskok3 :

변수 자체가 아니라 내용입니까? 분명히, 나는 여기에 약한 이해가 있습니다. 고맙습니다!

삼항 대안을 시도했지만 작동하지 않았습니다.

할당없이 여기 삼항.

삼항 연산의 결과는 조건식의 결과에 따라 첫 번째 표현식의 결과이거나 두 번째 표현식의 결과입니다.

결과 결과는 rvalue이므로 어딘가에 할당되어야 합니다(또는 다른 표현식의 구성원이어야 함).

그냥 쓰는거랑 똑같음

 int a= 1 ;
int b= 2 ;

a + b;
[삭제]  

Slawa :

결과 결과는 rvalue이므로 어딘가에 할당되어야 합니다 (또는 다른 표현식의 구성원이어야 함).

그냥 쓰는거랑 똑같음

void Func를 int Func로 바꾸면 실제로 일대일 결과입니다. 공허와 함께 - 당황. 강조된 문구 때문인가요?
 
zaskok3 :
void Func를 int Func로 바꾸면 실제로 일대일 결과입니다. 공허와 함께 - 당황. 강조된 문구 때문인가요?
[삭제]  
Slawa :
알았다. 치어리더 감사합니다!