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

 
Nikolai Semko :

1881년

1886 빌드 이후로 수정되었습니다.

니콜라이 셈코 :
그리고 더. 사실인지 잘 모르겠습니다.
1년 전에는 그런 문제가 존재하지 않는 것 같았습니다.

당신은 단지 문제를 보지 못했습니다.

실제로 CopyTime, CopyOpen, CopyHigh 등을 퇴화시키는 iTime , iOpen, iHigh 등의 함수를 추가했을 때, 최신 데이터가 아직 로드되지 않은 상태에서 함수가 결과를 반환하는 경우가 있음을 확인했습니다. i-Functions의 경우 이것이 중요한 것으로 판명되었습니다.

이제 모든 것이 정확하고 빠르게 작동해야 합니다. 공식 빌드를 기다립니다.

 
Slava :

1886 빌드 이후로 수정되었습니다.

당신은 단지 문제를 보지 못했습니다.

실제로 CopyTime, CopyOpen, CopyHigh 등을 퇴화시키는 iTime, iOpen, iHigh 등의 함수를 추가했을 때 최신 데이터가 아직 로드되지 않은 상태에서 결과를 반환하는 경우가 있음을 확인했습니다. i-Functions의 경우 이것이 중요한 것으로 판명되었습니다.

이제 모든 것이 정확하고 빠르게 작동해야 합니다. 공식 빌드를 기다립니다.

이해했습니다. 감사합니다.
즉, 현재 사용 가능한 빌드가 1881입니까? 아니면 내가 뭔가를 놓쳤나요?
 
Nikolai Semko :
이해했습니다 감사합니다.
즉, 현재 사용 가능한 빌드가 1881입니까? 아니면 내가 뭔가를 놓쳤나요?
현재 사용 가능한 빌드 1881
 

실행 중 오류:

 class A {
public :
         template < typename T>
        A* A::f( T )
        {
                 int size = ArraySize ( i ) + 1;
                 Print ( __FUNCTION__ , ":" , size );
                 if ( ArrayResize ( i, size ) == - 1 )
                         Print ( __FUNCTION__ , ":Error:" , GetLastError ());
                 return & this ;
        }
         template < typename T>
        A* A:: operator+ ( T t ) { return f( t ); }
         int i[];
};
void OnStart ()
{
        A a;
        a + 0 + 0 ;
}

결과: 예상:

A::f<int>:1 A::f<int>:1
A::f<int>:753790661 A::f<int>:2
A::f<int>:오류:4007

그래서:

 void OnStart ()
{
        A a;
        a.f( 0 ).f( 0 );
}

좋아. 차이점이 뭐야? 어레이 크기 가 갑자기 1이 아닌 753790660이 되어 메모리가 갑자기 종료된 이유(4007)는 무엇입니까? MT5\1881\32

게다가... 첫 번째 변형에서 클래스에서 문자 그대로 세 문자를 삭제하면 결과도 정상이 됩니다.

 
A100 :

실행 중 오류:
어레이 크기가 갑자기 1이 아닌 753790660이 되어 메모리가 갑자기 종료된 이유(4007)는 무엇입니까? MT5\1881\32

MT5\1881\64
디버그는 괜찮습니다.
릴리스 - 컴파일 오류 "내부 컴파일러 오류".

 

컴파일 중 오류:

 class A {
         int A::f() { return NULL ; } //нормально
        A  *A::g() { return NULL ; } //Error: object of 'A' cannot be returned, copy constructor 'A::A(const A &)' not found
};
MT5\1881\32
 
A100 :

왜 이렇게(::) 클래스 {} 안에 작성합니까?

 

컴파일 중 오류:

 class A {
         int A::f();
         template < typename T>
        A*  A::g();
};
int A::f() { return NULL ; } //нормально
template < typename T>
A*  A::g() { return NULL ; } //Error: 'g' - function already defined and has different type
 
fxsaber :

왜 이렇게(::) 클래스 {} 안에 작성합니까?

왜 안 돼?

 class A {
         void A::f() {} //нормально
};
이런.. 쓰고 싶은.. 하고 싶은...
 
A100 :

왜 안 돼?

이것은 이유가 아닙니다.

이런.. 쓰고 싶은.. 하고 싶은...
이것은 코드를 읽을 때 큰 도움이 되며 어떤 상황에서는 실수를 피하는 데 도움이 됩니다.