Неизвестное имя типа в C? - PullRequest
0 голосов
/ 09 марта 2019

Хорошо, так что я программирую некоторый код на 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);

1 Ответ

1 голос
/ 09 марта 2019

Я продолжаю получать '' Неизвестное имя типа Pulse ''

Переместите определение 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...