書店プログラムを作成しようとしていますが、関数の実装でソース コード ファイルに「複数定義」というエラーが表示されます。
ここに私の Book.c ファイルがあります:
#include "Book.h"
void scanBook(book_t* bk) //error here
{
//implementation here
}
ここに私の Book.h ファイルがあります:
#pragma once
#include <stdio.h>
typedef char* str;
typedef enum Genre {Education, Business, Novel} genre_t;
typedef struct Book{
str ISBN;
str title;
str author;
float price;
int quantity;
genre_t genre;
} book_t;
void scanBook(book_t* bk);
そして、これが私のmain.cファイルです:
#include "Book.h"
#include "Book.c"
int main()
{
return 0;
}
Book.c の scanBook 関数でエラーが発生しますが、ヘッダー ファイルと #pragma once をインクルードし、ヘッダー ファイルで関数を宣言したため、原因がわかりません。'scanBook' と obj\Debug\Book.o の複数の定義を言います .... ここで最初に定義します。
ヘルプや説明をいただければ幸いです。