gcc로 컴파일 하는데 도저히 해결을 못해서 질문드립니다.
글쓴이: planck / 작성시간: 토, 2015/11/07 - 11:31오후
디지털 시계 프로그램을 만들어봤는데
clock1.c: In function ‘time_to_number’:
clock1.c:100: warning: assignment makes pointer from integer without a cast
clock1.c:101: error: dereferencing pointer to incomplete type
clock1.c:102: error: dereferencing pointer to incomplete type
clock1.c:103: error: dereferencing pointer to incomplete type
계속 이런 오류가 뜨는데 해당 오류가 무슨 소린지는 알겠는데 수정을 어떻게 해야할지 모르겠습니다.
이 함수가 계속 오류를 일으키고 있는 함수인데 어디를 어떻게 고쳐야할지 도무지 감이 잡히질 않네요.
long time_to_number()//시분초 단위의 값을 하나의 정수로 변환하는 함수
{
time_t current;
struct tm *d;
int hour, min, sec;
current = time(NULL);
d = localtime(¤t);
hour = d->tm_hour * 10000;
min = d->tm_min * 100;
sec = d->tm_sec;r
return hour + min + sec;
}
꼭 답변해주시면 감사하겠습니다.
Forums:
답변
time_to_number 함수에서:
100: 경고: 캐스팅 없이 정수로 포인터를 할당했습니다.
> int *ptr = 1;과 같이 포인터에 정수 값이 바로 들어간 것 같습니다.
101: 오류: 불완전한 형식의 포인터를 디리퍼런싱 했습니다.
struct tm 구조체의 선언이 올바르게 되어있는지 확인하세요. 선언되지 않은 구조체라면 구조체에 접근할 수 없겠죠?
아마 tm에 관한 구조체가 제대로 포함되지 않았거나, struct tm;과 같이 전방 선언만 되어있고
struct tm { ... };의 선언이 없는 경우일 겁니다.
저는 이렇게 생각했습니다.
조언 감사드립니다.
아직 문제 해결 중에 있지만
조언 감사드립니다.
저는 잘 되네요.
저도 테스트해봤는데, Ubuntu 12.04 LTS에서 정상 동작합니다.
첫 번째 사진은 실행 결과입니다.
두 번째 사진은 코드에서 time.h 헤더를 주석 처리했을 때의 결과입니다.
저는 이렇게 생각했습니다.
감사합니다!
해결되었네요!
정말 고맙습니다~
함수를 확인해주세요.
DevC++과 codepad.org 모두 컴파일은 잘 됩니다.
하지만. 인자값이 다른거 같습니다.
current = time(NULL);
함수 원형을 확인해주시기 바랍니다.
http://forum.falinux.com/zbxe/index.php?document_srl=408349&mid=C_LIB
http://linux.die.net/man/3/localtime
http://www.cplusplus.com/reference/ctime/localtime/
http://itguru.tistory.com/120
http://itguru.tistory.com/114
http://www.cplusplus.com/reference/ctime/time/
DevC++ 5.11
http://codepad.org
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
아... 질문할 때 빼먹은게 있었네요
제가 지금 애를 먹고있는게 윈도우 환경에서 만들어진 저 프로그램을 리눅스 환경으로 고치고 있는 작업 중에 생긴 문제였습니다.
리눅스를 제가 처음하다보니 저 함수를 도데체 어떻게 변형해야 할지 모르겠네요
일단 답변 주신 것 대단히 감사합니다.
댓글 달기