星期一 五月 26, 2008

//extern "C" void foo (void*);
extern void foo (void*);

template <typename T, void(*cb)(T*)> class Test {};
typedef Test<void, foo> TestVoid;


SunStudio C++ compiler will fail if I try to use the 1st prototype, and reports:

line 5: Error: Template parameter cb requires an expression of type void(*)(void*).
1 Error(s) detected.

No idea why this happens... 

This blog copyright 2009 by yongsun