【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

下記のソースをenumを使わずに定義するとどのようになるんですか?
下記のソースの意味が分かるように教えてください。

enum {FALSE, TRUE} i = FALSE;

A 回答 (2件)

「enum {FALSE, TRUE} i = FALSE;」は



enum BOOL {FALSE, TRUE};
enum BOOL i = FALSE;

と同じ事です。(列挙型に名前をつけない点が違いますが。) また、「{FALSE, TRUE}」を「{FALSE = 0, TRUE = 1}」としても同様です。

>下記のソースをenumを使わずに定義するとどのようになるんですか?

#define FALSE 0
#define TRUE 1
int i = FALSE;

としたらいいと思います。intが嫌だったら

typedef int BOOL;

とでもしてください。

#こんな質問するくらいだからC++ではないんだろうと考え、bool型には触れませんでした。
    • good
    • 0

こんにちは、honiyonです。



 全く同じ、というわけにはいませんが・・・

その1
 bool i;

i = FALSE;


その2
 #define _TRUE 0
#define _FALSE 1

int i;
i = _FALSE;
※TRUE/FALSEは標準で定義されているので先頭にアンダーバーをつけてます。

 参考になれば幸いです(..

この回答への補足

ありがとうございます。
もう少し教えてください。

#define sin 0
#define gi 1

上記は

enum {sin = 0, gi = 1};

と同じですか?



enum {sin = 0, gi = 1};
int i = sin;

を1行で書いたものが

enum {sin = 0, gi = 1} i = sin;

ですか?

補足日時:2003/06/08 14:38
    • good
    • 0
この回答へのお礼

この1つ上の質問はSetEndOfFileで解決しました。

お礼日時:2003/06/08 15:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!