C бросил пустой указатель на указатель на функцию

Я пытаюсь создать несколько макросов, которые я могу использовать для создания своей собственной библиотеки модульного тестирования. Мой заголовочный файл выглядит так:

#ifndef _TEST_H_
#define _TEST_H_

#include 
#include "hehe_stack.h"

static hehe_stack* tests;
typedef int (*testfunc)();

#define test_init() tests = hehe_stack_init();
#define test_register(test) hehe_stack_push(tests, test);
#define test_info() fprintf(stdout, "running %s :: %s \n", __FILE__, __func__);
#define test_run() testfunc = (int (*)()) hehe_stack_pop(tests); testfunc(); return 0;

#endif

В каждом тестовом файле .c я хочу вставить несколько указателей функций в стек тестов, а затем вытолкнуть каждый указатель функции из стека и вызвать его. Мой метод pop в стеке возвращает пустой указатель, а указатель функции, который я помещаю на него, возвращает int и не принимает параметров. Мой синтаксис неверен? Я чувствую, что должен быть в состоянии сделать это.

Ответы на вопрос(3)

Ваш ответ на вопрос