У меня есть список контрольных точек, а затем запустить функцию. Я изначально построил этот список в этой функции, но теперь я должен построить его снаружи. Проблема в том, что я не могу включить checkpoint.h
в класс, который реализует эту функцию, потому что checkpoint.h
возвращает структуру типа этого класса. Первоначальный список был объявлен в class.c
глобально. Как я могу перенести созданный снаружи список в класс, чтобы я мог его использовать?
Итак, у меня есть этот заголовок, turing_machine.h
:
#ifndef __TURING_MACHINE__
#define __TURING_MACHINE__
#include "tape.h"
#include "alphabet.h"
#include "symbol_table.h"
...
#endif
и заголовок checkpoint.h
, определяющий класс checkpoint_list
:
#ifndef __CHECKPOINT_H__
#define __CHECKPOINT_H__
#include "turing_machine.h"
...
#endif
Итак, я хочу отправить в функцию из turing_machine.h
список структур checkpoint
, но я не могу ничего изменить, потому что так должны оставаться классы.
У меня также turing_machine.c
:
#include "turing_machine.h"
#include "checkpoint.h"
#include "symbol_table.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
checkpoint_list *c;
Итак, в начале я создал в turing_machine этот список, c
, но теперь я должен создать его снаружи, и мне нужно инициализировать этот список c
, но я не знаю как. Я надеюсь, что это более понятно.
Я неправильно использовал термин класс; У меня есть только файлы .c
и .h
.