No.16236![]() |
ヘッダファイルについて 投稿者---れいじ(2004/08/18 15:50:30) |
||
はじめまして。ヘッダファイル内にある「::」はどういう意味をもつのでしょうか?? (例)「typedef _TYPENAME traits::int_type int_type;」 宜しくお願いします。 |
No.16237![]() |
Re:ヘッダファイルについて 投稿者---たか(2004/08/18 16:25:07) |
||
>はじめまして。ヘッダファイル内にある「::」はどういう意味をもつのでしょうか?? >(例)「typedef _TYPENAME traits::int_type int_type;」 C++の質問ですね。これはスコープ解決演算子と呼ばれ、名前空間または クラス名がtraitsに属するint_typeという名前を指示する事を意味しま す。typedefしていますから、本来ならばtraits::int_typeと書かなければ ならない所をint_typeと書くだけで済むようになります。 またここでは_TYPENAMEというマクロになっている部分は本来何だったの かはこれだけではわかりませんが、もしtypenameキーワードだったら、 これなしではtraits::int_typeがtraitsのメンバ変数であると解釈されて しまいコンパイルエラーになりますが、typenameキーワードが付けられる とtraits::int_typeが型名である事がコンパイラに伝わり、エラーが 出なくなります。 後者のトピックはtypenameキーワードの必要性を感じた時にまた改めて 調べればいいです。 |
No.16238![]() |
Re:ヘッダファイルについて 投稿者---れいじ(2004/08/18 17:25:04) |
||
たかさん、ありがとうございました。 |