日記です.自分用のメモ代わりに書くことが多いです.
#define VERSION "0.1015a" // 現在のバージョン
とりあえず数多くdefineで 宣言してある定数群をenumを 用いて整理することで,
コンパイラの型チェック機能を利 用するように変更.これはつまり こういう事↓.
int main()
{
enum { OFF = 0, ON = 1 } hoge;
hoge = 1;
return 0;
}
としたとき,コンパイラにhog e = 1;の部分で
「intを型~~(この場合は無 名enum)に変換できません」 って言われる.
キャストすればおkだけど.その 場合はenumに名前が必要で
enum aho { OFF = 0, ON = 1 } hoge;
hoge = (enum aho)1;
みたいな感じで書けばいい.
enumにはtypdefも利用 できるからこれを使えばさらに便 利.
補足:enumの中では値の指定 もできるが(OFF = 0みたいに),これは省略しても 大丈夫.
省略し た場合は順に0, 1, 2, …となる.俺はなんか気持ち悪い からいつも 明示的に指定してるけど.
enumは複数のdefi neを同時に宣言してるようなも のだから使えばけっこう便利.( 行数削減にもなる)
追記
enum型の変数は基本int型 だが,ANDやORなどのビット 演算をした場合,強制的にint 型と見なされるようだ.
というか,元々Cの仕様がそうだ ったような気がする.
type |= INPUT;
とするとエラーが出たが,
type = (TYPE)(type | INPUT);
とすると通った.ちょっとめんど くさいがこのくらいは我慢するし かないか.
とりあえず数多くdefineで
コンパイラの型チェック機能を利
int main()
{
enum { OFF = 0, ON = 1 } hoge;
hoge = 1;
return 0;
}
としたとき,コンパイラにhog
「intを型~~(この場合は無
キャストすればおkだけど.その
enum aho { OFF = 0, ON = 1 } hoge;
hoge = (enum aho)1;
みたいな感じで書けばいい.
enumにはtypdefも利用
補足:enumの中では値の指定
省略し
enumは複数のdefi
追記
enum型の変数は基本int型
というか,元々Cの仕様がそうだ
type |= INPUT;
とするとエラーが出たが,
type = (TYPE)(type | INPUT);
とすると通った.ちょっとめんど
PR
この記事にコメントする
プロフィール
HN:
まさぽん
性別:
男性
職業:
会社員
カウンター
ブログ内検索
クリック募金
カテゴリー
なかのひと
アクセス解析