gpt4 book ai didi

c - 将 main 中定义的类型传递给 C 中的 header

转载 作者:行者123 更新时间:2023-11-30 17:19:43 24 4
gpt4 key购买 nike

因此,正如标题所说,我应该在主文件中定义一个类型,并以某种方式将其传递给 header。我尝试以任何方式做到这一点,但我没有主意。

我这样定义它:“typedef int DATA;”并在 header 中使用它作为数据类型。

我尝试在包含 header 之前插入 typedef,但仍然无法识别。

有什么想法吗?或者说根本不可能用这种方式做到这一点?

#include <stdio.h>
#include <stdlib.h>

typedef int DATA;

#include "PriorityQueue.h"

int main(){
int priority;
DATA value;

这是我的主要内容的开始

#ifndef PRIORITY_QUEUE_H_
#define PRIORITY_QUEUE_H_

struct priorityQueue{
int priority;
DATA value;
struct priorityQueue *next;
};
typedef struct priorityQueue LINK;

void createEmpty(LINK **head);
void add(LINK **head, int p, DATA v);
void deleteElement(LINK **head, int *p, DATA *v);
//void print(LINK *head);
void checkIfEmpty(LINK *head);
void destroy(LINK *head);
#endif

标题

||=== Build: Release in PriorityQueue (compiler: GNU GCC Compiler) ===|
~\PriorityQueue\PriorityQueue.h|6|error: unknown type name 'DATA'|
~\PriorityQueue\PriorityQueue.h|11|error: unknown type name 'DATA'|
~\PriorityQueue\PriorityQueue.h|12|error: unknown type name 'DATA'|
~\PriorityQueue\PriorityQueue.c|10|error: unknown type name 'DATA'|
~\PriorityQueue\PriorityQueue.c|44|error: unknown type name 'DATA'|
||=== Build failed: 5 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Used ~ instead of my destination

最佳答案

typedef int DATA; 放在 PriorityQueue.h 中 structpriorityQueue 之前,并确保 PriorityQueue.h 包含在 PriorityQueue.c 中。

关于c - 将 main 中定义的类型传递给 C 中的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811140/

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