Sun Studio 12: C ユーザーズガイド

5.3.3 構造体ポインタへの構造体フィールドのキャスト

次の例では、構造体メンバー foo.b のアドレスが struct 型のポインタとしてキャストされたあと、p に割り当てられます。lint -Xalias_level=weak (またはそれ以上) を指定すると、警告メッセージが生成されます。


struct foo p{
    int a;
    int b;
  };

struct foo *f1;
struct foo *f2;

void main()
{
    f2 = (struct foo *)&f1->b; /* 構造体ポインタへのスカラーポインタの */
                               /* キャストエラー                       */
}