2013-05-30 3 views
1

내가 ANSI C에서 응용 프로그램을 쓰고 있어요 (비주얼 스튜디오 2010) 내 라이브러리는 다음과 같습니다 C - 이상한 구문 오류

#include <stdio.h> 
#include <stdlib.h> 

#ifndef _MYLIB_ 
#define _MYLIB_ 

typedef enum {false, true} bool; 

// some structures and function prototypes... 

#endif 

내가 모든 .c 인 파일에이 라이브러리를 포함 (내가있어 4 개의 .c 파일처럼 - main()과 main.c (1 개와 나머지는 함수들과 함께).

나는 오류 얻을 : - 내가 main.c에로 모든 기능과 구조를 붙여 넣을 때 - 무엇보다

Generating Code... 
1> first.cpp 
1>c:\users\A1\documents\visual studio 2010\projects\pr1\pr1\mylib.h(7): error C2059: syntax error : 'constant' 
1>c:\users\A1\documents\visual studio 2010\projects\pr1\pr1\mylib.h(7): error C2143: syntax error : missing ';' before '}' 
1>c:\users\A1\documents\visual studio 2010\projects\pr1\pr1\mylib.h(7): error C2059: syntax error : '}' 
1> second.cpp 
1>c:\users\A1\documents\visual studio 2010\projects\pr1\pr1\mylib.h(7): error C2059: syntax error : 'constant' 
1>c:\users\A1\documents\visual studio 2010\projects\pr1\pr1\mylib.h(7): error C2143: syntax error : missing ';' before '}' 
1>c:\users\A1\documents\visual studio 2010\projects\pr1\pr1\mylib.h(7): error C2059: syntax error : '}' 

나는 그것을 해결하는 방법을 몰라 제대로 작동 ... 을 ...

답변

3

나는 C++ 내장형 falsetrue을 간섭한다고 강력히 믿고 있으므로 enum에서 다시 정의하려고합니다.

FALSETRUEBOOLboolfalsetrue를 교체하십시오.

#include <stdio.h> 
#include <stdlib.h> 

#ifndef _MYLIB_ 
#define _MYLIB_ 

typedef enum {FALSE, TRUE} BOOL; 

// some structures and function prototypes... 

#endif 
+0

네, 맞습니다 :) 대단히 감사합니다. 나는 6 분 내에 동의 할 것입니다. – tomdavies

+1

당신은 오신 것을 환영합니다. 당신이 그것에 대해 모를 경우 조급해질 수 있습니다. –