C中未知的类型名称?

时间:2019-03-09 15:09:12

标签: c object

好吧,所以我正在用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);

1 个答案:

答案 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