掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     staticメンバ変数の生成コードについて(C++)


フラット表示 前のトピック | 次のトピック
投稿者 トピック
未登録ゲスト
投稿日時: 2008-1-18 11:20

staticメンバ変数の生成コードについて(C++)

クラスのstaticメンバ変数の利用を考えており、属性の"static"にチェックを入れてC++でコードを生成しているのですが、.hのクラス宣言内には宣言が出力されるものの、同時にクラス宣言外に必要とされる定義が出力されません(一般的には.cppに記述するようです)。具体的には以下のような感じです。

●TestClass.h (EAの生成コードより)
class TestClass
{

private:
static int value;

};


●TestClass.cpp(理想的な生成コード)
#include "TestClass.h"

int TestClass::value; ※この定義が必要だが出力されない

これはstaticメンバ変数を宣言するルールのようでして、実際クラス宣言外での定義がない状態だとコンパイルで「未定義の参照」とエラーが出てしまいます。
このルールに関してはEAはサポートしていないのでしょうか?また、上記のような.cppを生成するテンプレートの編集方法がありましたら教えていただけないでしょうか?
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » staticメンバ変数の生成コードについて(C++) 未登録ゲスト 2008-1-18 11:20
     Re: staticメンバ変数の生成コードについて(C++) tkouno 2008-1-18 11:26
       Re: staticメンバ変数の生成コードについて(C++) tkouno 2008-1-18 11:54
         Re: staticメンバ変数の生成コードについて(C++) 未登録ゲスト 2008-1-18 13:35
           Re: staticメンバ変数の生成コードについて(C++) tkouno 2008-1-18 13:41