#define cpLog(priority__, fmt__, args__...)
extern void cpLog ( priority__, fmt__, ##args__);
这样的定义在windows下编译不过。不知道怎样才可以用#define替换任意参数的函数。那位高手可以回答?
extern void cpLog ( priority__, fmt__, ##args__);
这样的定义在windows下编译不过。不知道怎样才可以用#define替换任意参数的函数。那位高手可以回答?
template <class T>
class myclass{
T temp;
public:
myclass(T name){
temp=name;
} T vomit(){
return temp;
}
}; void main()
{
myclass<int> t1(2);
cout<<t1.vomit()<<endl;
myclass<char*> t2("醉拳");
cout<<t2.vomit()<<endl;
myclass<float> t3(3.14159);
cout<<t3.vomit()<<endl;
}
template <class T>
void f(T qie)
{
cout<<qie<<endl;
} #define X f<char*> void main()
{
f<int>(3);
f<char>('r');
X("aadf");
}
使用宏一般不行,可以使用函数来实现。
如:
#include <stdio.h>void Func(LPTSTR fmt,...)
{
va_list er;
va_start(er, fmt);
printf(fmt, er);
va_end(er);
}