簡體   English   中英

C 中的未知類型名稱?

[英]Unknown type name in C?

好的,所以我正在用 C 編寫一些代碼,該程序主要使用指針,我快完成了,但是有這個問題,我在代碼的某些部分不斷得到未知的類型名稱。 例如,在下面的代碼中,我不斷收到“未知類型名稱 Pulse”。本質上它使用 C 語言中的對象使用 tinytimber 內核,但代碼中包含 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);

我不斷收到“未知類型名稱脈沖”

使用之前移動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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM