2

我正在使用 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<>'

如何解决这个问题?

4

1 回答 1

1

我的猜测是 ATL 不知道u_char,所以它无法选择正确的转换。尝试这个:

packet = A2T((char *)cpacket);

有关详细信息,请参阅

于 2010-02-09T08:51:37.080 回答