我正在使用Visual Studio .NET 2003,而我正在尝试将纯ANSI字符编写的程序转换为独立于Unicode /多字节字符。
该程序具有pcap_loop的回调函数,称为“got_packet”。它被定义为
void got_packet(u_char *user, const struct pcap_pkthdr *header, const u_char *cpacket)
{
USES_CONVERSION;
_TUCHAR *packet;
packet = A2T(cpacket);
...
}
但是,我收到错误消息
error C2440: 'type cast': cannot convert from 'const u_char *' to 'ATL::CA2WEX<>'
如何解决此问题?
答案 0 :(得分:1)
我的猜测是ATL不知道u_char
因此无法选择正确的转换。试试这个:
packet = A2T((char *)cpacket);
有关详细信息,请参阅