- 81 名前:55 mailto:sage [2018/02/23(金) 17:49:49.55 ID:Ska5zxPe0.net]
- >>67 はエラーなくコンパイル・実行できてるようだから、もう少し検証。
ideone.com でなくローカルのgccで実験。 どうやら func() 定義の引数リストに制限があるみたい。 void f(double x) ... エラーなし ( >>67 の例と同じ) void f(int x) ... エラーなし void f(void* x) ... エラーなし void f(char x) ... 警告:「互換性のないポインタ型」 void f(short x) ... 警告:「互換性のないポインタ型」 void f(float x) ... 警告:「互換性のないポインタ型」 警告は void (*pfunc)() = f; の行で発生。 実引数の自動拡張よりも狭い幅の仮引数の型を使おうとすると警告かな? コンパイラによって動作が異なる部分で、深追いする価値は無いのかも。
|

|