오류

2012-04-26 3 views
4
나는 현재 다음과 같은 오류가 받고 있어요

:오류

는 C : 오류 C2059 :> 구문 오류 : \ 프로그램 파일은 마이크로 소프트 비주얼 스튜디오 \를 \ VC98의 \은 (15) iomanip \ 포함 ' (예 : '{'; 앞에 C2334 : 예기치 않은 토큰이 있습니다.); 명백한 기능 체 스킵

C : 오류 C2059 : 구문> 오류 '문자열'

C : \ 프로그램 파일은 마이크로 소프트 \ \ 프로그램 파일 VC98의 \는 \ math.h (36)를 포함 \ 마이크로 소프트 비주얼 스튜디오 \ Visual Studio \ vc98 \ include \ math.h (36) : 오류 C2334 : 예상치 못한> 토큰 앞에 '{'; 명백한 함수 본문 건너 뛰기

이들은 모두 표준 라이브러리 헤더 파일에 있으므로 읽기 전용이므로이를 수정하는 방법을 모른다.

도움이 될 것입니다.

+8

컴파일하는 파일의 접미사는 무엇입니까? 나는 그것이'.c'라고 의심한다. 소스가 C++가 아닌 C로 취급 될 것이다. – hmjd

+0

또 다른 가능성은 코드에 포함되기 전에 코드에 누락 된 (또는 불필요한) {또는}입니다. – dbrank0

+0

C 컴파일러 또는 C++ 컴파일러를 사용하고 있습니까? 코드 C 또는 C++입니까? –

답변

5

C/C++에서 소스 코드가 실제로 파싱되기 전에 전 처리기가 실행되고 #include은 기본적으로 서로 다른 파일을 연결합니다. 이 결과로 C/C++은 한 파일의 {이 다른 (포함 된) 파일의 }과 일치하는 것에 완벽하게 만족합니다. 물론 누구도이 작업을 수행하지 않습니다 (또는 수행 한 경우 촬영해야합니다). C/C++ 전처리 기가 너무 단순하기 때문에 기술적으로 허용됩니다.

결과적으로 자신의 파일 중 하나의 구문 오류가 다른 파일의 구문 오류처럼 보일 수 있습니다. 나는 종종 클래스 정의 후에 ;을 넣는 것을 잊었을 때 이것을 직접 경험합니다. 그러나 일치하지 않는 {} 님은 (당신이 발견 한 것처럼) 같은 효과가 있습니다.

그래서 포함 된 일부 파일 (예 : 표준 라이브러리)에 오류가있는 것으로 보이는 경우 가장 먼저 볼 파일은 해당 파일 바로 앞에 포함 된 파일입니다. 때로는 #include 문을 재정렬하면 오류의 원인을 줄일 수 있습니다.