好吧,所以我正在用C编写一些代码,该程序主要使用指针,我几乎完成了操作,但是由于我在代码的某些部分不断得到未知的类型名称,所以出现了这个问题。例如,在下面的代码中,我不断得到“未知类型名称Pulse”,从本质上讲,它使用的是tinytimber内核的C语言对象,但是Pulse包含在代码中。
#include "Pulse.h"
typedef struct {
Object super;
Pulse *PulserOne;
Pulse *PulserTwo;
Pulse *Pulsing;
} GUI;
这是另一类创建脉冲的代码。
typedef struct {
Object super;
int pin;
int frequency;
int stored;
int oldFrequency;
} Pulse;
# define initPulse(pin, frequency,stored,oldFrequency{initObject(),number, frequency, stored, oldFrequency
这是声明对象的主要类。
Pulse PulserOne = initPulse(4, 0, 0, 0, &p);
Pulse PulserTwo = initPulse(6, 0, 0, 0, &p);
GUI gui = initGUI(&PulserOne, &PulserTwo, &PulserOne);
答案 0 :(得分:1)
我不断收到“未知类型名称脉冲”
在使用前将Pulse
的定义移至 。 @UnholySheep
#include "Pulse.h"
// move here.
typedef struct {
Object super;
int pin;
int frequency;
int stored;
int oldFrequency;
} Pulse; // Pulse defined here
typedef struct {
Object super;
Pulse *PulserOne; // Pulse used here
Pulse *PulserTwo;
Pulse *Pulsing;
} GUI;
替代:声明Pulse
// v--v--------- Use some name
typedef struct Fred Pulse; // Pulse declared here
typedef struct {
Object super;
Pulse *PulserOne; // Pulse used here
Pulse *PulserTwo;
Pulse *Pulsing;
} GUId;
typedef struct Fred {
Object super;
int pin;
int frequency;
int stored;
int oldFrequency;
} Pulse; // Pulse defined here