2017-05-22 5 views
3

코드의이 비트가 나에게 운전 너트를 잡는다. 그러나 출력 ...첫번째 캐치 모든 유형을

int 7675456 

나는 온라인 GDB에, 내 리눅스 VM에 그것을 시도하고 REPL - 그것과는 잘 작동합니다. 나는 내가 기대하는 바를 가지고 있음을 의미한다 :

string foo 

나는 항상 해결책을 찾기 때문에 여기에 결코 게시하지 않는다. 그러나 이번에는 구글에게 물어볼 올바른 방법을 찾지 못하고 그냥 잃어버린 것 같습니다. 아무도 단서가 없습니까?

윈도우 10와 I 쉬운 생식 경우하지 않고는 MinGW

+2

예기치 않은 결과는 어떤 시스템에서 발생합니까? – aschepler

+0

일반적인 3 가지 컴파일러 중 하나를 사용하는 repro 없음. –

+0

재현 할 수 없습니다. 컴파일러와 플랫폼에 대한 세부 정보를 제공해 주시겠습니까? –

답변

0

그것은 열심히 사용하지만이 시도하십시오

캐치 이동 (const를 표준 : : 문자열 & X)

은 int의 catch 이전이어야합니다.

나는 그것이 어떻게 든 문자열이 int로 캐스트 될 수 있기 때문에 일어날 수 있다고 생각합니다. 그렇게하려고합니다. 이것이 완전한 대답이 아닐 수도 있지만, 최소한 당신은 무슨 일이 벌어지고 있는지 이해하는 단계에 가깝습니다. 이제는 해결 방법이 있습니다.

원격으로 디버깅하기는 어렵지만 다른 것은 없다면 중요한 논리 및 디버깅 접근법에서 좋은 연습입니다.

+0

내가 그렇게하면 잘 작동합니다. 문제는 그 블럭을 거기에두면 모든 타입을 잡을 것입니다 : D – usePtr

+0

그래, 나는 변화하는 컴파일러 해결책을 시도했다. 방금 MinGW 폴더의 이름을 바꾸고 Perl의 C 컴파일러를 사용했습니다 (방금 가지고 있던 것을 발견했습니다). 괜찮 았어. 그래서 나는 MinGW 64의 새로운 복사본을 다운로드 할 수있을 것이라고 생각한다. – usePtr

+0

https://bugzilla.redhat.com/show_bug.cgi?id=1269290 은 근본 원인과 관련 될 수 있습니다. – Jakub