私はBeej's Guide to Network Programmingに従い、VC++ 2010 を使用していますが、構造体をコピーしてプログラムに貼り付けると、一部の型が正しくない識別子として表示されます。例えば:
u_int32_t
それが思い浮かび、いくつかの検索の結果、これらは 1999 年頃の C 言語の古い型であることがわかりました。stdint.hを含めることもできましたが、その意味を覚えておく必要があります。代わりにint
、32 ビット長 (4 バイト) の standard を使用し、64 ビット長 (8 バイト) の他のものには を使用しlong long int
ました。
とにかく、最後の構文エラーに絞り込んでいますsa_family_t
が、無効な識別子であると言われています。私はそれが何を意味するのか見当がつかず、検索しても何も見つかりませんでした。それが私の問題です。そのための型識別子に何を指定すればよいかわかりません。
私を悩ませているもう 1 つのことは、これ char __ss_pad1[_SS_PAD1SIZE];
もSS_PAD1SIZE
無効として赤色で表示されることです。