Dan*_*ien 9 c++ templates typedef extern
我想在typedef一个模板中添加一个public ,用于指向使用"C"语言链接的函数take-one-argument的指针.
我试过了:
extern "C" {
template <typename return_t_, typename arg1_t_>
struct test
{
typedef return_t_ (*C_fun1_t)(arg1_t_);
};
}
Run Code Online (Sandbox Code Playgroud)
和:
template <typename return_t_, typename arg1_t_>
struct test
{
extern "C" {
typedef return_t_ (*C_fun1_t)(arg1_t_);
}
};
Run Code Online (Sandbox Code Playgroud)
和:
template <typename return_t_, typename arg1_t_>
struct test
{
extern "C" typedef return_t_ (*C_fun1_t)(arg1_t_);
};
Run Code Online (Sandbox Code Playgroud)
没有成功.
我想要完成的是什么?
Fre*_*urk 11
C++ 03,§7.5p4:
链接规范仅在命名空间范围内发生....对于类成员的名称和类成员函数的成员函数类型,将忽略AC语言链接.
不幸的是,你无法在当前的C++中做到这一点.在最新的C++ 0x草案中,此文本未更改,但"template typedefs"可能能够完成它.
| 归档时间: |
|
| 查看次数: |
2240 次 |
| 最近记录: |