ゲームボーイアドバンス(GBA)非公式開発 Part2at GAMEDEV
ゲームボーイアドバンス(GBA)非公式開発 Part2 - 暇つぶし2ch721:名前は開発中のものです。
08/03/16 12:05:58 0SBCpDyI
>>720
スレ違いだが回答。

C言語とC++のconst修飾子の動作の違いのために起きる問題。

const int hoge1 = 1 ;
がC言語では変数として定義されるのに対し、C++では定数として定義される。
このため、
const int hoge2 = hoge1 ;
がエラーとなる(初期値つき変数に定数以外を指定したから)。

結論:C++でなくC言語で書くなら、定数はマクロやenumで定義しましょう。


余談だが、const修飾子には他にも違いがあり、グローバル変数をconst修飾した場合に、
C言語ではデフォルトで外部リンケージ(要するにextern)になるのに対し、
C++では内部リンケージ(要するにstatic)となる。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch