int型としては使わない定数をenumで定義してもいいでしょうか?
enum { SYMBOL=100 } /* ASCII文字コードで指定する */
上記のように定数を定義していますが、SYMBOL
はstrtok_r()
の2つめの引数として(const char*)SYMBOL
の形で使用するだけです。
コンパイル時にエラーは出ないので文法的な辻褄はあっていると思うのですが、このような場合はやはりenum
を使わずに下記のように定義するときに(コメントでなくプログラムとして)使用目的を明示するべきでしょうか?
const char* SYMBOL = "d";
<774RRさんからの返答を受けて主に以下の点について質問文を修正しました>
enum
でまとめて定義するときはそれらが1つのグループであるかを考えるべきという視点から見るとSYMBOL
は明らかに仲間外れで別に定義するほうが自然でした。
なお、SYMBOL
の使用目的はstrtok_r()
の2つめの引数であるdelim
です。
(返答を読んで改めて調べなおしたりしているうちに、自分が"何を分かっていなかったのか"とか"どこを遠回りしていたのか"が少しづつ見えてきた気がします……。)