c11 _Generic関数に余分な型を追加するにはどうすればよいですか?c11 _一般的な型を追加する
あなたは#undef/re-#を定義する必要がありますか?(もしそうなら、次の作業が必要でしょうか)、それとももっと良い方法がありますか?
#define to_str(X) _Generic((X), \
long double: ld_str, \
double: d_str, \
float: f_str, \
)(X)
#undef to_str
#define to_str(X) _Generic((X), \
long double: ld_str, \
double: d_str, \
float: f_str, \
int: i_str, \
)(X)
注意:元のマクロで 'default'選択が定義されていない場合、折り返しは機能しません。 comp.lang.cのスレッド[入れ子_Genericの選択](https://groups.google.com/d/topic/comp.lang.c/1RQvT2a5DF0/discussion)をご覧ください。 –
@ J.C.Salomon、 'default'の欠如は問題ではないと私は思うが、ジェネリック式のすべての枝を持つ' X'のcompabilityは、だと思います。私の編集を参照してください。 –