对外接口问题?
struct A { union U{ int intVar};char charVar;};struct B { char charVar;.....};
struct C { char charVar1;char charVar2};
Vec_A;//是vector<A>类型,可能里面装了一些必备数据!视Full的值而定
Vec_B;//是vector<B>类型,可能里面装了一些必备数据!视Full的值而定
Vec_C;//是vector<C>类型,可能里面装了一些必备数据!视Full的值而定
int FULL;//是定义的全局变量;
Full=1,则Vec_A装了相应的数据;否则它为空的!
Full=2,则Vec_B装了相应的数据;否则它为空的!
Full=3,则Vec_C装了相应的数据;否则它为空的!
现在我向外部提供一个接口:
//1:此函数与我内部的类联系,对外提供一个
//2:void(*)(char *,int)指针供给外部使用,哪个人使用时仅仅
//写一个类型符合的函数即可对我的内部
//不为空的Vec_A,或者Vec_B,或者Vec_C其中的一个操纵!
//3:权限仅仅是对Vec_A或者Vec_B,或者Vec_C里面的char成员操纵
void ChangeDate(int Full,void(*Change)(char *,int))
{
switch(FuLL)
{ //??处该如何填写呢!确切的说如何将Vec_A地址里面的
//char地址交给传给Change(char* ,int)里面呢?
case 1:Change( ??,mybmp.Size1);cout<<1;break;
case 2:Change( ??,mybmp.Size2);cout<<2;break;
case 3:Change( ??,mybmp.Size3);cout<<3;break;
defualt:cout<<"什么也没做"<<endl;
}
}
void(*Change)(char *,int)这个指针函数所指指的函数由用户来写: