首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙看看 不用结构体指针来改变结构变量 小弟我感觉是个难题 等你来结贴!

2012-03-14 
帮忙看看 不用结构体指针来改变结构变量 我感觉是个难题 等你来结贴!!!typedefstructt1{intnC}*P1//不能

帮忙看看 不用结构体指针来改变结构变量 我感觉是个难题 等你来结贴!!!
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;
}

热点排行