나는 수업을위한 프로젝트를하고 있으며, 프로그램을 여러 부분으로 나누는 데 도움이 필요하다. 선생님은 어떤 파일이 무엇을 할 것인지를 묻는 메시지를 보여 주었지만 헤더 파일을 작성하는 방법을 알려주지 않았습니다. 온라인에서 배운 것을 토대로 각 .c 파일의 함수 프로토 타입을 자체 .h 파일에 넣고 .c 파일에 "header.h"를 포함 시켰습니다. 그러나, 나는 점점 오전 컴파일 오류는C 파일을 여러 파일로 나누는 방법
course1.c:20:3: warning: implicit declaration of function ‘initialize’ [-Wimplicit-function-declaration]
initialize(courses, subjects, CRN);
^
vector1.c:14:6: error: conflicting types for ‘resize’
void resize(char ***courses, char***subjects, int **CRN) {
^
In file included from vector1.c:2:0:
vector.h:11:6: note: previous declaration of ‘resize’ was here
void resize(char ***subjects, char ***courses, int **CRNs, int *size);
^
vector1.c:39:6: error: conflicting types for ‘deallocate’
void deallocate(char **courses, char**subjects, int *CRN) {
^
In file included from vector1.c:2:0:
vector.h:12:6: note: previous declaration of ‘deallocate’ was here
void deallocate(char **subjects, char **courses, int *CRNs, int size);
으로 나는 .o 인 파일로 개별적으로 컴파일하고 그들이 잘 작동하기 때문에 내 파일이 올바른 구문이 꽤 확신합니다. 다른 사람이 프로그램을 별도의 파일로 분리하는 방법을 알려주십시오. 나는 분명히 잘못하고 있다고 생각한다. 컴파일러가 제공하는 한 가지 오류는 내가 포함 된 헤더 파일에 함수가 명확하게 정의되어있을 때 함수가 정의되어 있지 않다는 것입니다.
코드 요소를 강조 표시 한 후 페이지 상단의 ** {} ** 버튼을 사용하여 서식을 지정하십시오. 현재 읽기가 쉽지 않으므로 읽기 쉽도록 도와주십시오. – jbutler483
컴파일 오류를 읽으면 충돌하는 함수 감속이 있음을 알 수 있습니다. 'resize'와'deallocate' 함수는'vector.h'와'vector1.c'에서 다르게 정의됩니다. 'initialize' 함수는 경고를 정의하기 전에 함수를 호출 한 것을 의미합니다. 컴파일 오류가 아니라 경고입니다. –