Oracle® Solaris Studio 12.4: C ユーザーガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

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

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

struct foo{
    int a;
    int b;
  };

struct foo *f1;
struct foo *f2;

void main()
{
    f2 = (struct foo *)&f1->b; /* cast of a scalar pointer to struct pointer error*/
}