Файл
//list.h file
typedef struct _lnode{
struct _lnode *next;
size_t row;
size_t column;
short data;
}lnode;
typedef struct _llist{
struct _lnode *head;
size_t size;
}llist;
//matrix.h file
typedef struct _matrix{
size_t width;
size_t height;
size_t k;
int **data;
}matrix;
//smatrix.h file
#include "list.h"
#include "matrix.h"
typedef struct _smatrix{
size_t width;
size_t height;
size_t k;
llist data;
}smatrix;
smatrix* make_smatrix(matrix *m);
smatrix.h включает файл list.h и файл matrix.h.Если я включу эти заголовочные файлы в файл smatrix.h, тогда я получу
redefinition of 'lnode'. redefinition of '_llist' and redefinition of '_matrix' errors.
Если я взял эти файлы хедера из нашего файла smatrix.h, то ошибка исчезнет, но она жалуется на тип матрицы в параметре функции,Я хочу вызвать функции, определенные в файлах list.h и matrix.h в файле smatrix.c .. Что мне делать?Заранее спасибо ..