【发布时间】:2019-11-16 09:15:46
【问题描述】:
我有一个关于 C 中的头文件的问题。假设我有一个头文件,其中包含一个名为 cars.h 的结构汽车,如下所示:
typedef struct car_s {
string plate;
string model;
} car;
现在,我有另一个包含上述头文件的头文件,名为drivers.h,如下:
#include "cars.h"
typedef struct driver_h
{
string id;
string name;
car own_car;
} driver;
现在,假设我有另一个文件,但这次是一个 C 文件,名为 main.c,如下:
#include "cars.h"
#include "drivers.h"
int main() {
car c;
driver bob;
bob.own_car = c;
return 0;
}
您能解释一下为什么这是错误的吗?我可以做些什么来防止任何错误?
谢谢!
【问题讨论】:
-
首先,
c头文件中没有string数据类型 -
@VJAYSLN 我的坏哈哈我已经学习 C# 6 年了,这是我第一次学习 C,但有时我仍然会犯这个错误,我的意思是 char plate[10];..等等
-
person bob;应该是driver bob;。我没有更正它,因为它可能是问题的一部分。 -
@DavidNagy 是的,我也注意到了这一点,但这只是我此时创建的用于提问的代码。我没有使用实际的代码。感谢您指出这一点!