gpt4 book ai didi

C 多重定义/首先在这里定义错误

转载 作者:行者123 更新时间:2023-12-02 11:52:29 25 4
gpt4 key购买 nike

我正在尝试编写一个书店程序,但在函数实现的源代码文件中出现“多重定义”错误。

这是我的 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 一次,并且在头文件中声明了该函数。它说“scanBook”和 obj\Debug\Book.o .... 的多个定义在这里首先定义。

任何帮助或澄清将不胜感激!

最佳答案

不要这样做:

#include “Book.c"

在你的 main.c 文件中。

关于C 多重定义/首先在这里定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26554852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com