Здравствуйте!
Вот вылазит следующая ошибка в vc++ error C2440: '=' : cannot convert from 'void (__cdecl *)(char *,char *)' to 'void (__cdecl *)(...)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
вот строка, на которую ругается xpar.cmd_handler = Kas;
вот как описан cmd_handler typedef struct x_PAR
{
......
void (*cmd_handler)(__free_args__);
......
} x_PAR;
а вот что такое Kas void Kas(char *lid, char *lid2);
Как можно решить данную проблему?
PS:
структура x_PAR и Kas описаны только в сишных хедерах, самого кода к функции нет, есть тока библиотека
Заранее спасибо за любые советы.
Re: Помогите,плиз! error C2440: '=' : cannot convert from to
Здравствуйте, 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);
что такое __free_args__?
SB>Как можно решить данную проблему?
Так а что тебе нужно-то в результате?
Можно сделать так, как тебе посоветовал компилятор — применить reinterpret_cast.
SB>PS: SB>структура x_PAR и Kas описаны только в сишных хедерах, самого кода к функции нет, есть тока библиотека
Здравствуйте, 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 описаны только в сишных хедерах, самого кода к функции нет, есть тока библиотека
Да, забыл написать... вот что такое __free_args__ #ifdef __cplusplus
#define __free_args__ ...
#else
#define __free_args__
#endif
Спасибо!
а не особый программер в vc++, так что почему то не пробовал использовать reinterpret_cast
а ща попробовал и вроде скомпилило,спасибо!!!
Re[3]: Помогите,плиз! error C2440: '=' : cannot convert from
Здравствуйте, 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 ???
Re[4]: Помогите,плиз! error C2440: '=' : cannot convert from
Здравствуйте, sir-bald, Вы писали:
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> ... SB>А у меня теперь возник другой вопрос: SB>А можно как-нить сделать без reinterpret_cast ???
можно его не писать