「コンパイラ・スクリプトエンジン」相談室12at TECH
「コンパイラ・スクリプトエンジン」相談室12 - 暇つぶし2ch210:デフォルトの名無しさん
08/02/12 11:44:05
趣味で(ほぼ無意味ですが)C++とほぼ同等のコンパイラを作っています。
当然テンプレートとかはないですが、文法がそっくりという意味です。

質問なのですがC++は何故、クラスの定義がファイルの行数的に先に行なわれていないとコンパイルエラーになるのでしょうか?
例えば

CHoge test;

class CHoge
{

};

こういう順番だと、CHogeって何?未定義なんだけど。ってエラーになりますよね。
ファイルの上から処理して言ってるのだから当たり前なのは分かってます。
ですが先に class などの定義系を先に処理してからにすれば回避できる問題かと思います。

「先に全ファイルをチェックして定義系を処理してから、再度全ファイルを処理する」
という2度処理が、C++が生まれたころのマシンスペックではもったいなかったのでしょうか?


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