int型としては使わない定数をenumで定義してもいいでしょうか？

[code]

    enum { SYMBOL=100 } /* ASCII文字コードで指定する */
    
[/code]

上記のように定数を定義していますが、`SYMBOL`は`strtok_r()`の2つめの引数として`(const
char*)SYMBOL`の形で使用するだけです。  
コンパイル時にエラーは出ないので文法的な辻褄はあっていると思うのですが、このような場合はやはり`enum`を使わずに下記のように定義するときに(コメントでなくプログラムとして)使用目的を明示するべきでしょうか？

[code]

    const char* SYMBOL = "d";
    
[/code]

<774RRさんからの返答を受けて主に以下の点について質問文を修正しました>  
`enum`でまとめて定義するときはそれらが1つのグループであるかを考えるべきという視点から見ると`SYMBOL`は明らかに仲間外れで別に定義するほうが自然でした。  
なお、`SYMBOL`の使用目的は`strtok_r()`の2つめの引数である`delim`です。  
(返答を読んで改めて調べなおしたりしているうちに、自分が"何を分かっていなかったのか"とか"どこを遠回りしていたのか"が少しづつ見えてきた気がします……。)



[code]

    const char* SYMBOL = (const char*) 'd';
    
[/code]

これは、`SYMBOL` を `strtok_r()` の第2引数 `delim` に渡すなら、おそらく

[code]

    const char* SYMBOL = "d";
    
[/code]

ではないでしょうか。

もし、`"d"` と文字列で直接書くのでなく、文字コードを別に定義しておきたい、ということであれば、

[code]

    /* strtok_r() の区切り文字の文字コード */
    #define SYMBOL_CHARCODE 100
    
    const char SYMBOL[2] = { SYMBOL_CHARCODE, 0 };
    
[/code]

とすることもできます。

`#define` の代わりに `enum` を使うこともできますが、`enum` は 774RR
さんの例にあるような一連の定数をひとまとめに定義するためのものであって、単体で(または無関係な定数と一緒に)定義するためのものではないので、ここで
`enum` を使うことにはとても違和感を感じます。



[code]

    const char* SYMBOL = (const char*) 'd';
    
[/code]

これは、`SYMBOL` を `strtok_r()` の第2引数 `delim` に渡すなら、おそらく

[code]

    const char* SYMBOL = "d";
    
[/code]

ではないでしょうか。

もし、`"d"` と文字列で直接書くのでなく、文字コードを別に定義しておきたい、ということであれば、

[code]

    /* strtok_r() の区切り文字の文字コード */
    #define SYMBOL_CHARCODE 100
    
    const char SYMBOL[2] = { SYMBOL_CHARCODE, 0 };
    
[/code]

とすることもできます。

`#define` の代わりに `enum` を使うこともできますが、`enum` は 774RR
さんの例にあるような一連の定数をひとまとめに定義するためのものであって、単体で(または無関係な定数と一緒に)定義するためのものではないので、ここで
`enum` を使うことにはとても違和感を感じます。

