>>35
--
typedefで型を作って
その型を関数の戻り値として
プロトタイプ定義させるという手法は始めてみた。
--
それは見聞が狭すぎる。ちょっとしたライブラリのソースを見れば簡単に見つかると思うが。
つーか、身近なところではfopen()だってそうじゃないか。
enumに限定しても、ステータスを返すタイプの関数ではしばしば見られるぞ。
まぁ確かにロートルはenumを使わずにマクロを使いたがるが、両者を較べればどちらがいいかは自明だろ。
--
#define SOME_LIB_OK 0
#define SOME_LIB_WARNING -1 /* ロートルは異常値を負にしたがる */
#define SOME_LIB_FATAL -2
int someLibEntry();
--
typedef enum {SomeLibOk, SomeLibWarning, SomeLibFatal, NofSomeLibStatus} SomeLibStatus;
SomeLibStatus someLibEntry();