static int nu_get_userdatas(void *context ,
int id, const char **result, unsigned *len)
{
......
}static int nu_get_usersecret(sasl_conn_t * conn ,
void *context , int id,
sasl_secret_t ** psecret)
{
......
}int init_sasl(nuauth_session_t * session, nuclient_error_t * err)
{
int ret;
sasl_conn_t *conn;
sasl_ssf_t extssf = 0; /* SASL time */ /*typedef int (*PROC)();
PROC proc=(PROC)&nu_get_userdatas; PROC proc2=(PROC)&nu_get_usersecret;
sasl_callback_t callbacks[] = {
{SASL_CB_USER, proc, session},
{SASL_CB_AUTHNAME,proc, session},
{SASL_CB_PASS, proc2, session},
{SASL_CB_LIST_END, NULL, NULL}
};
*/
sasl_callback_t callbacks[] = {
{SASL_CB_USER, &nu_get_userdatas, session},
{SASL_CB_AUTHNAME, &nu_get_userdatas, session},
{SASL_CB_PASS, &nu_get_usersecret, session},
{SASL_CB_LIST_END, NULL, NULL}
};
.......
}出错信息:error C2440: “初始化”: 无法从“int (__cdecl *)(void *,int,const char **,unsigned int *)”转换为“int (__cdecl *)(void)” 该转换要求 reinterpret_cast、C 样式转换或函数类型转换error C2440: “初始化”: 无法从“int (__cdecl *)(sasl_conn_t *,void *,int,sasl_secret_t **)”转换为“int (__cdecl *)(void)”
1> 该转换要求 reinterpret_cast、C 样式转换或函数类型转换运行环境:vs2005我改用c编译这个错误是不出现的.但是用C++方式是不行的.请高手解决.
解决方案 »
- RS232 接收数据
- VC6.0切分窗口后,如何实现视图切换?
- MFC做了一个树控件,节点对象有一个属性是Tree,此属性应该是LPDISPATCH还是HWND?
- 高分求一个函数!----关于语法分析的
- 请问如何查找某个对话框的句柄,然后对这个对话框的"确认"按钮发消息?
- 套接口accept()一次大概需要多少时间?(毫秒)
- 请问如何得到指定路径文件夹的句柄?如: e:\test\tmp
- 各位高手,在VC中include *.h文件有没有什么限制和条件?为什么我的程序中总是出现重复定义的情况?帮忙啊
- 如何用mfc开发一个在win7平板上运行的图库浏览器
- 关于制作安装程序的问题
- 如何更改VC6语言支持?
- 100分求media play 控件播放问题
分数不够再开贴
/* Identifies the type of the callback function.
* Mechanisms must ignore callbacks with id's they don't recognize.
*/
unsigned long id;
int (*proc)(); /* Callback function. Types of arguments vary by 'id' */
void *context;
} sasl_callback_t;
//--------------- 一种方法 把下面两个函数重定义成 参数为void
static int nu_get_userdatas(void *context ,
int id, const char **result, unsigned *len)
{
......
}static int nu_get_usersecret(sasl_conn_t * conn ,
void *context , int id,
sasl_secret_t ** psecret)
{
......
}
//----------第二个方法强制转换
sasl_callback_t callbacks[] = {
{SASL_CB_USER, (int (*)())&nu_get_userdatas, session},
{SASL_CB_AUTHNAME, (int (*)())&nu_get_userdatas, session},
{SASL_CB_PASS, (int (*)())&nu_get_usersecret, session},
{SASL_CB_LIST_END, NULL, NULL}
};