gcc에서 bool형 사용에 관해서...
글쓴이: shs0917 / 작성시간: 화, 2004/03/23 - 8:59오후
#include <stdio.h> bool test(int ); int main(void){ if(test(1)) printf("true\n"); else printf("false\n"); return 0; } bool test(int a){ if(a == 1) return true; else return false; }
gcc에서 이런 코드에서 bool형 리턴형 때문에 syntex error가 나네요..
bool형을 못쓰는건가요? 아님 다른 헤더를 추가해야 하나요?
답변 부탁 드립니다.
Forums:
파일 확장자가 .c가 아닌지 보시구.cpp나 .C로 수정하시구g+
파일 확장자가 .c가 아닌지 보시구
.cpp나 .C로 수정하시구
g++로 컴파일해보세요
C언어는 boolean 타입이 없죠..
bool형은 c++ 타입이니
gcc 로 컴파일 하시지 마시고, g++ 컴파일하세요
위의 예제를 간단히 컴파일 하는 방법은
소스 파일을 test.cc 와 같이 .cc 로 하신후
make test
하면 컴파일이 되구
./test
요렇게 실행보시면 되니다.
결론은 gcc의 문제가 아니라 C냐 C++이냐의 문제 입니다.
gcc 3.x로 올라오면서
c++ 소스는 g++로 컴파일 해주어야 하도록 변경된것 같습니다.
----
GCC is the GNU Compiler Collection, which currently contains front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...). Further frontends are availabl
제가 정말 멍청한 짓을 했네요.. C에서 왜 boolean형을 쓰려고
제가 정말 멍청한 짓을 했네요.. C에서 왜 boolean형을
쓰려고 하다니.. 잠시 정신이 나갔던거 같군요.. 답변 감사드립니다.
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
C99에선 bool타입이 지원됩니다...정확히는 _Bool이죠...
C99에선 bool타입이 지원됩니다...
정확히는 _Bool이죠...
하지만 보다 편하게 쓰기위해서 stdbool.h에 bool로 typedef해놓았고 true,false값도 정해놓았습니다..
따라서 C에서 boolean이 필요하시면 stdbool.h를 인클루드해서 사용하시면 되겠습니다..
[quote="shs0917"]제가 정말 멍청한 짓을 했네요.. C에서
저도 예전에 C에서 string형을 쓴적이 있었는데 컴파일러가 미친거 아니냐며 반항하면서 에러를 내더군요. ^^;
뭐... C++에서 cout이나 cin놔두고 scanf()나 printf() 사용하는 것과 비슷한 경우라고 생각합니다.
void main(void)
{
char *brain;
brain = malloc(sizeof(stress));
free(brain);
}
뭐든지 답은 간단한데서 시작한다.
댓글 달기