2016-11-04 8 views
1

Ich habe 2 .c Datei, in einer der Dateien werde ich versuchen, die read_cfg (struct) aufzurufen, um die Daten in der Struktur zuzuweisen, aber ich bekomme Fehler von "in Konflikt stehenden Typen" in der .h-Dateiwidersprüchliche Typen für read_cfg()

example.c

#include<stdio.h> 
#include"example.h" 

struct config /structure 
{ 
char data[10]; 
}; 

int main() 
{ 
int n=0; 
struct data d; 
read_cfg(&d); //function call 
} 

example.h

#ifndef EXAMPLE_H 
#define EXAMPLE_H 
extern void read_cfg(struct); //ERROR 

examplelib.c

Jede Hilfe wird für mich

Dank

+0

Bitte überprüfen Sie den Code in Ihrer Frage: Sie haben 3 verschiedene Strukturtypen: 'struct config',' struct data' und 'struct config_data'. Soll das derselbe Typ sein? Bitte lesen Sie [mcve]. – user694733

Antwort

1

extern void Read_Cfg (struct); // FEHLER

Der Fehler lag daran, dass der Argumenttyp nicht stimmt. Es sollte stattdessen void read_cfg(struct config_data *) sein.

Btw, brauchen Sie nicht extern Schlüsselwort für Funktionen - standardmäßig Funktionen haben externe Verknüpfung (mit Ausnahme von statischen Funktionen).

0

Ihre Erklärung für read_cfg() Funktion (in example.h) und Ihre Definition von read_cfg() (in examplelib.c) nicht übereinstimmen nützlich sein. die Erklärung ändern in example.h zu:

extern void read_cfg(struct config_data *cfg); 
Verwandte Themen