帮忙看看 不用结构体指针来改变结构变量 我感觉是个难题 等你来结贴!!!
typedef struct t1
{
int nC;
} *P1;
//不能通过以下方法给WCMD函数传递结构体指针来改变nC变量的值
//因为结构体有多个,不想写很多给个WCMD方法来实现这些功能
void WCMD(P1 cmb1)
{
cmb1-> nC=20;
}
[解决办法]
template <class T>
void WCMD(T cmb)
{
cmb-> nC=20;
}
[解决办法]
如果你是用c++编程楼上的是个不错的主意.
如果不是, 建议你用宏.
#define WCMD( TARGET) TATGET-> nc = 99
[解决办法]
其实模板和宏在概念上,都是编译期将代码确定下来。
宏可以理解为简单的替换
#define WCMD(TARGET) TARGET-> nc =99
在使用的时候,WCMD(a);。就相当于a-> nc=99;
模板这里使用的是模板函数,是为了实现多类型共用代码来出来的,T就是类型,也就是你所要的struct,在实现的时候将struct的名称填入 <> 中,确定是该类型就可以了。
具体可以看模板函数,jjhou翻译的那本专门讲STL库的书中有。
[解决办法]
template <typename T>
void WCMD(T cmb)
{
cmb-> nC=20;
}