• ベストアンサー

C言語の構造体の「;」について教えて下さい

表題のとおりですが、 例えば次のようなプログラムですが、 struct _AEEApplet { DECLARE_VTBL(IApplet) AEECLSID clsID; uint32 m_nRefs; IShell * m_pIShell; 中略 }; ここの、DECLARE_VTBL(IApplet)の後ろに、 なんで「;」が無いのでしょうか? あるいは、このように使うときは、 どういう意味なのでしょうか? 是非是非、教えて下さいませ。

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

DECLARE_VTBLで検索するとBREW関係のページばかりが見つかるので、おそらくこの記法はBREW独特のものです。 BREWのヘッダファイルのどこかに、 #define DECLARE_VTBL(...) ... のような定義があるものと想像できます。 「どうしてDECLARE_VTBL(IApplet)の後ろにセミコロンがないのか?」については、「セミコロンがなくても文法的に問題ないようにDECLARE_VTBL()がヘッダファイル内で定義されているから」という答えになるでしょう。 どのようにDECLARE_VTBL()が定義されているか、探して調べてみると分かるのではないでしょうか。

micchicchi
質問者

お礼

salsberryさん、ありがとうございます! なるほどー、#defineか! プログラム読む時の、考え方や見方の勉強になりました!!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

DECLARE_VTBLとは何でしょう?

すると、全ての回答が全文表示されます。

関連するQ&A