## types.h ##
struct Node;
typedef union {
char *value;
Node *next;
} child_t;
struct Node
{
int type;
int *key;
child_t *child;
Node()
{
key = new int[FAN_OUT];
child = new child_t[FAN_OUT];
}
};
## Enclave.edl ##
include "types.h"
trusted {
public void ecall_printf_node([in] struct Node *root);
};
Однако сообщается о следующей ошибке:
Include / types.hpp: 23: 9: ошибка: неизвестное имя типа 'Узел': Узел * следующий;
Включить /types.hpp:33:9: ошибка: ожидаемый список спецификаторов-спецификаторов перед «Узлом»: Node () {Вот конструктор}
Три вопроса: 1) Поддерживает ли в анклаве предварительное объявление класса или структуры? такой как "struct Node", как указано выше;
2) Должен ли структура иметь конструктор в анклаве? такой как функция "Node ()", как указано выше;
3), если нет, как мне достичь выше?