◀Unicode版開発トップへ
  • 1132 pluginのヘッダの実装
    • 1138 Re:pluginのヘッダの実装
  • [1132] pluginのヘッダの実装 もか 2010年03月22日 00:59

    C++プロフェッショナルではないので、はずしてるかもしれませんが、
    plugin/CPluginIfObj.h
    plugin/COutlineIfObj.h
    MacroFuncInfo CPluginIfObj::m_MacroFuncInfoArr 系の定義
    がヘッダーファイルに書かれていて、他のファイルでインクルードすると実体が2つになるような気がします。
    そしてリンクでエラーになりそうな...やってみたらなりました。

    意図的なのかそうでないのか判断できなかったので、
    他のファイルからは直接includeされない、どこかのソースファイルの一部になるような従属的ファイルなら、
    ヘッダの頭にそう書いてあるとありがたいです。
    そうでないなら、内容はどこか.cppへ移動したいのだけど、CPluginIfObj.cpp/COutlineIfObj.cppでいいのかな。
    • [1138] Re:pluginのヘッダの実装 syat 2010年03月22日 22:08

      .hと.cppに分けるべきだと思います。

      なぜヘッダで実装してしまったのかというと、自分の頭がすでにC#化していてその方が書きやすかったというのが第一ですが、
      小さなクラスを定義するだけでファイルが2個ずつ増えていくことに心理的な抵抗を感じました。
      ちなみにこの後もスマートインデント用IfObjを追加する予定でまた2個増えてしまうのですが、どなたかうまいやり方をご存知でしたら教えてほしいです。
      IfObj.hとIfObj.cppに全部つっこんでしまおうかな?