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

 

내용이 동일한 두 개의 소스 코드가 다른 수의 바이트를 차지합니다(두 번 다름).

어느 시점에서 유니코드 문제가 있었던 것 같습니다.

일반적으로 큰 파일을 절반으로 줄이려면 어떻게 해야 합니까? 동시에 원본 텍스트가 변경되지 않도록 합니다.

 
fxsaber :

내용이 동일한 두 개의 소스 코드가 다른 수의 바이트를 차지합니다(두 번 다름).

어느 시점에서 유니코드 문제가 있었던 것 같습니다.

일반적으로 큰 파일을 절반으로 줄이려면 어떻게 해야 합니까? 동시에 원본 텍스트가 변경되지 않도록 합니다.

대용량 파일의 내용을 메모장에 복사하여 새 파일에 저장했습니다. 2배 작아졌습니다.

그리고 metaeditor가 "두꺼운"것을 만들지 않도록하는 방법은 무엇입니까?

 
fxsaber :

그리고 metaeditor가 "두꺼운"것을 만들지 않도록하는 방법은 무엇입니까?

안 돼요. 매번 새로운 크기.
 
fxsaber :
당신이 먼저 시작할 것입니다. 오류는 여기에만 있습니다. 그 이전의 모든 호출은 문제 없이 통과합니다.

하지만 이것은 정말 이상합니다. 플러스 측면에서는 세 가지 호출 모두에 오류가 있습니다.

이것은 다른 오페라에서 가져온 것입니다.

아니요, 모두 동일합니다. 디버거에서 메서드 호출 을 살펴보았습니다. 예제에서 마지막 호출을 주석 처리하고 두 클래스 메서드 에 중단점을 설정하고 디버깅을 시작했습니다. 중단점이 void func(const int&) 메서드에서 제거되었습니다. 컴파일러가 이 메서드를 삭제했기 때문에 모호성이 해결되었습니다. 그리고 상수 인수로 함수를 호출하면 분명히 컴파일러는 참조가 있는 메서드를 제거하지 않으며 결과적으로 해결할 수 없는 과부하 ... 그런 것입니다. 어쨌든 C++에서는 코드가 잘못되었습니다.

 

Sergei Vladimirov :

어쨌든 C++에서는 코드가 잘못되었습니다.

mql에는 링크가 있는 추가 진흙탕이 있습니다. 어쨌든 위 코드의 동작이 마음에 들지 않습니다.

 void f( const int & x)
{}

void OnStart ()
{
   f( 5 ); // ошибка
}
 
Sergei Vladimirov :

하지만 이것은 정말 이상합니다. 플러스 측면에서는 세 가지 호출 모두에 오류가 있습니다.

이 경우 C++에 대한 변경 사항이 있는 것을 전혀 원하지 않습니다.
 
Комбинатор :

mql에는 링크가 있는 추가 진흙탕이 있습니다. 어쨌든 위 코드의 동작이 마음에 들지 않습니다.

 void f( const int & x)
{}

void OnStart ()
{
   f( 5 ); // ошибка
}
여기 오류가 맞습니다.
 
fxsaber :
이 경우 C++에 대한 변경 사항이 있는 것을 전혀 원하지 않습니다.

그러나 이것은 이미 논쟁의 여지가 있는 holivar의 문제입니다 . 나는 방금 "개가 어디에서 뒤적거렸는지"라고 대답했습니다.

그건 그렇고, 동작은 C ++와 다르지 않습니다. 단지 처음 두 호출만 남겨두면 컴파일러가 함수 중 하나를 버리므로 불확실성이 사라집니다. 그러나 그것은 여전히 오류이며 컴파일러에 의해 자동으로 수정됩니다.

 
fxsaber :
여기 오류가 맞습니다.
예, 하지만 내 이해로는 전혀 그렇지 않아야 합니다)
 
Sergei Vladimirov :
그러나 이것은 이미 논쟁의 여지가 있는 holivar의 문제입니다 . :) 방금 "개가 뒤진 곳"이라고 대답했습니다.

거기에는 진짜 개가 없습니다. 오버로드의 우선 순위는 개발자가 처음 두 호출에서 했던 것처럼 컴파일러에서 설정할 수 있습니다.