template <DWORD h, DWORD hash, class A>
inline LPVOID pushargEx(A a1)
{
typedef LPVOID (WINAPI *newfunc)(A);
printf("1:h=%d,hash=%d\n",h,hash);
return 0;
}
template <DWORD h, DWORD hash, class A, class B>
inline LPVOID pushargEx(A a1, B a2)
{
typedef LPVOID (WINAPI *newfunc)(A, B);
printf("2:h=%d,hash=%d\n",h,hash);
return 0;
}
template <DWORD h, DWORD hash, class A, class B, class C>
inline LPVOID pushargEx(A a1, B a2, C a3)
{
typedef LPVOID (WINAPI *newfunc)(A, B, C);
printf("3:h=%d,hash=%d\n",h,hash);
return 0;
}
int main(int argc, char* argv[])
{
pushargEx<1,00>("123");
pushargEx<10,01>("123");