这段代码合法吗?
extern "C" typedef void (ft_blah_c)();
/*extern "C++"*/ typedef void (ft_blah_cpp)();
extern "C" void fn_blah_c() {}
/*extern "C++"*/ void fn_blah_cpp() {}
ft_blah_c *g_Blah_c = fn_blah_cpp; // <--- ?
ft_blah_cpp *g_Blah_cpp = fn_blah_c; // <--- ?
我有一段类似的编程代码,它可以顺利编译和执行(使用MSVC 2010),没有任何问题。
void fn()
使用相同的调用规约吗?我认为两种标准都没有说明。具体平台的文档可能会有介绍。 - Bo Persson