2

Visual Studio .NET 2003 を使用しており、純粋な ANSI 文字で記述されたプログラムを変換して、Unicode/マルチバイト文字から独立させようとしています。

このプログラムには、「got_packet」と呼ばれる pcap_loop のコールバック関数があります。それは次のように定義されています

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 に答える