[Mew-dist 14764] Re: bin.tar.gz

Shigeya Suzuki shigeya at example.com
2000年 10月 26日 (木) 08:51:44 JST


>>>>> "kazu" == 山本和彦  <Kazu> writes:

kazu> C に詳しい人にお聞きしたいのですが、これって ANSI の仕様ですか?

kazu> K&R のころは、こういう自動の型変換こそ C の美しさだったような気がしま
kazu> す。

警告をどのぐらい出すかは、コンパイラによって、かなり違います。

-Wall で gcc で build できても、VC だと、おこられたりすることもありま
す。逆もあります。見てるポイントが違ったりします。エラーについても、
多少あります。(VC は、non-void な関数で、最後に return 文が無いと、
状況がどうあれ、強硬に怒ります)

なので、どこでも警告でないようにするためには、ちょっとうるさくやらない
とダメです。エラーにならなきゃ、ほっておくのも一つの方法。

なお、isdigit については、平気なのではないかと思いますが、僕は
unsigned char だったらイヤなことが起きそうだという過去の経験から、
ついつい & 0xff して渡したりします。isdigit の側が知ってれば問題起らな
いですが。(単なるパラノ)

shigeya

PS. 蛇足ながら、C++ だと、クラス間の変換ルールをある程度定義出来るので
    すが、やりすぎると、酷い目にあいます(笑)。節度守って使うと、便利な
    んだけど。不注意にやると、side effect で涙がでちゃう。

PPS. そうそう、C++の翻訳本上がってきたので、今度一冊差し上げます。 > kazu
     (先日のお返し…まだ全部よんでないよ)



Mew-dist メーリングリストの案内