高分求解,还是字符数组的问题:
FUN()
{//该函数是可用的,缺点在于“OP1","OP2","OP3"必须赋进去,现在我
//采用一个函数从数据库读取到OP1,OP2,OP3的值再赋给字符指针数组,发现
//wchar_t *wnames1 [sizeof(menu_name)/sizeof (char *)];行出错
//MenuFromStringsRegister()函数中的参数wnames1是不能变的它只能是wchar_t *的形式
int K;
char *menu_name[]={"OP1","OP2","OP3",""};
wchar_t *wnames1 [sizeof(menu_name)/sizeof (char *)];
for (i=0; i<sizeof(menu_name)/sizeof (char*); i++)
{
wnames1[i] = (wchar_t*)calloc(NAME_SIZE, sizeof(wchar_t));
ProStringToWstring(wnames1[i], menu_name[i]);
}
MenuFromStringsRegister("TTT", NULL, wnames1, NULL, NULL, &K);
}
错误代码如下:
char *menu_name[20];
char opid_tem[20][_MAX_PATH]={""};
GetOperationInfo(op_id);//4.10
for(id=0;id<4;id++)
{
menu_name[id]=op_id[id];
}
wchar_t *wnames1 [sizeof(menu_name)/sizeof (char *)];//错误illegal use of this type as an expression