Re[3]: Помогите,плиз! error C2440: '=' : cannot convert from
От: sir-bald  
Дата: 11.10.05 11:41
Оценка:
Здравствуйте, sir-bald, Вы писали:

SB>Здравствуйте, jazzer, Вы писали:


J>>Здравствуйте, sir-bald, Вы писали:


SB>>>Здравствуйте!

SB>>>Вот вылазит следующая ошибка в vc++
SB>>>error C2440: '=' : cannot convert from 'void (__cdecl *)(char *,char *)' to 'void (__cdecl *)(...)'
SB>>> This conversion requires a reinterpret_cast, a C-style cast or function-style cast

SB>>>вот строка, на которую ругается
SB>>> xpar.cmd_handler = Kas;
SB>>>вот как описан cmd_handler
SB>>>typedef struct x_PAR
SB>>>{
SB>>>......
SB>>> void (*cmd_handler)(__free_args__);
SB>>>......
SB>>>} x_PAR;

SB>>>а вот что такое Kas
SB>>>void Kas(char *lid, char *lid2);

J>>что такое __free_args__?


SB>>>Как можно решить данную проблему?


J>>Так а что тебе нужно-то в результате?

J>>Можно сделать так, как тебе посоветовал компилятор — применить reinterpret_cast.

SB>>>PS:

SB>>>структура x_PAR и Kas описаны только в сишных хедерах, самого кода к функции нет, есть тока библиотека

SB>Да, забыл написать... вот что такое __free_args__

SB>#ifdef __cplusplus
SB>#define __free_args__ ...
SB>#else
SB>#define __free_args__
SB>#endif


SB>Спасибо!

SB>а не особый программер в vc++, так что почему то не пробовал использовать reinterpret_cast
SB>а ща попробовал и вроде скомпилило,спасибо!!!

А у меня теперь возник другой вопрос:
А можно как-нить сделать без reinterpret_cast ???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.