Можно ли ввести в шаблоне тип функции «указатель на внешнюю» - «C»?

Я хочу добавить общедоступный typedef в шаблон для указателя на функцию, принимающую один аргумент, которая использует Связывание с языком "C".

Я пробовал:

extern "C" {
    template <typename return_t_, typename arg1_t_>
    struct test
    {
        typedef return_t_ (*C_fun1_t)(arg1_t_);
    };
}

И:

template <typename return_t_, typename arg1_t_>
struct test
{
    extern "C" {
        typedef return_t_ (*C_fun1_t)(arg1_t_);
    }
};

И:

template <typename return_t_, typename arg1_t_>
struct test
{
    extern "C" typedef return_t_ (*C_fun1_t)(arg1_t_);
};

безуспешно.

Возможно ли то, что я пытаюсь выполнить?

9
задан Daniel Trebbien 1 February 2011 в 08:25
поделиться