mql4에서 스택 오버플로 오류의 원인은 무엇입니까? - 페이지 2

[삭제]  
RaptorUK :
오류를 재현할 수 있도록 모든 코드를 게시하고 싶지 않다면 동일한 오류를 재현할 수 있는 전체를 게시할 수 있는 코드를 작성하십시오.


이 직전에 내 게시물을 참조하십시오.
 
당신이 첨부
11/13/2013 03:25 PM 37,911 Ind_error_tester.mq4
11/13/2013 03:25 PM 37,911 Ind_error_tester_Neutralized.mq4
두 파일 모두 동일합니다.
[삭제]  
WHRoeder :
당신이 첨부
11/13/2013 03:25 PM 37,911 Ind_error_tester.mq4
11/13/2013 03:25 PM 37,911 Ind_error_tester_Neutralized.mq4
두 파일 모두 동일합니다.

네 죄송합니다. 다시 붙였습니다.
[삭제]  
mt4로 우리는 코더 또는 버그 수집기가 될 것입니다
 
RaptorUK :
. . . 함수 유형이 int인 이유는 무엇입니까?
이 질문에 답하지 않은 것이 유감입니다. . . 아무 것도 반환할 필요가 없으므로 함수void 로 만들고 return(0) 재컴파일을 제거하면 어떻게 됩니까?
 
분명히 그것 은 그 큰 기능 을 처리할 수 없습니다 .
 //+-------------------------------------------
//| Custom indicator initialization function  
//+-------------------------------------------
int init()
  {
//---- indicators

int Column1x= 10 ,Column2x= 300 ,Column3x= 590 ,
    Column1xp= 70 ,Column2xp= 360 ,Column3xp= 650 ,
    Column1xg= 130 ,Column2xg= 420 ,Column3xg= 710 ,
    Column1xa= 250 ,Column2xa= 540 ,Column3xa= 830 ;

//---------------USD--------------------------
   //---- EURUSD-------------------
   ObjectCreate ( "EURUSD" , OBJ_LABEL , 0 , 0 , 0 );
 :
   ObjectSet( "EURGBP2" , OBJPROP_YDISTANCE , ZoomTimes* 60 );



   ObjectCreate ( "EURGBP2c" , OBJ_LABEL , 0 , 0 , 0 );
:
//+------------------------------------------------------
//| Custom indicator initialization function             
//+------------------------------------------------------
int Column1x= 10 ,Column2x= 300 ,Column3x= 590 ,
    Column1xp= 70 ,Column2xp= 360 ,Column3xp= 650 ,
    Column1xg= 130 ,Column2xg= 420 ,Column3xg= 710 ,
    Column1xa= 250 ,Column2xa= 540 ,Column3xa= 830 ;
int init(){ init1(); init2(); }
int init1()
  {
//---- indicators

//---------------USD------------------------------------
   //---- EURUSD-------------------
   ObjectCreate ( "EURUSD" , OBJ_LABEL , 0 , 0 , 0 );
:
   ObjectSet( "EURGBP2" , OBJPROP_YDISTANCE , ZoomTimes* 60 );
}
int init2()
  {
   ObjectCreate ( "EURGBP2c" , OBJ_LABEL , 0 , 0 , 0 );
:
[삭제]  
RaptorUK :
이 질문에 답하지 않은 것이 유감입니다. . . 아무 것도 반환할 필요가 없으므로 함수를 void 로 만들고 return(0) 재컴파일을 제거하면 어떻게 됩니까?


네 그것도 분류합니다. 하지만 왜? 함수 가 int이고 값이 필요하다고 말하면 어떻게 될까요? 객체의 일부를 변경하면 함수가 int인지 여부에 관계없이 문제가 해결되는 이유는 무엇입니까? start, init 및 deinit는 int이고 반환(0)하므로 문제가 되지 않습니다.
[삭제]  
WHRoeder :
분명히 그것은 큰 기능을 처리 할 수 없습니다.


누가 무슨 말을 하는지 알아듣고 있습니다.
 
tonny :

네 그것도 분류합니다. 하지만 왜? 함수가 int이고 값이 필요하다고 말하면 어떻게 될까요? 객체의 일부를 변경하면 함수가 int인지 여부에 관계없이 문제가 해결되는 이유는 무엇입니까? start, init 및 deinit는 int이고 반환(0)하므로 문제가 되지 않습니다.
return(0)은 int를 반환하고 int는 0입니다. . . void는 값을 반환하지 않습니다. void 함수 에서 조기에 반환하거나 원하면 return을 사용합니다.
 
tonny :

누가 무슨 말을 하는지 알아듣고 있습니다.
그러나 그것 은 그 큰 기능 을 처리할 수 있습니다 . . . 제가 설명한대로 함수 타입을 변경하면 같은 크기의 함수에 대해 컴파일 오류가 발생하지 않습니다. .