掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     C++にて、引数をvoidにしたメソッドを読み込んだときの動作


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
sugimoto
投稿日時: 2008-10-1 17:58
EA Administrator
投稿: 1895

C++にて、引数をvoidにしたメソッドを読み込んだときの動作

○ご質問

C++のソースにて、
class A
{
 void Start(void);
};
のようなメソッドをもつソースを読み込んだ場合に、
パラメータに"prm1: void"がセットされてしまいます。

void Start();と同じ扱いにする方法はありますか?


○回答

現状、上記のようなC++のソースコード読み込み時は、自動的に
prm1というパラメータが設定されるようになっていますが、
ソースコードではパラメータなしを示していますので、
こちらはEAの考慮漏れのバグになります。

パラメータなし(Start())として読み込むように、
開発元に連絡し、改善いたします。

また、この点はC言語につきましても同様であることを
確認しましたので、合わせて改善いたします。

ご迷惑をお掛けし、申し訳ございません。
tkouno
投稿日時: 2008-10-24 8:51
EA Administrator
投稿: 3939

Re: C++にて、引数をvoidにしたメソッドを読み込んだときの動作

この件につきまして開発元と議論を行っておりました。

現状は意図的に「void」の引数を残しておりました。

これは、

void func(void)

に対して、引数をすべて削除してしまうと、生成する際に

void func()

となってしまいます。
つまり、「void」というキーワードがあるということを示すために
引数の欄に追加しており、バグではありませんでした。
(コード生成テンプレートも、この場合を考慮した形になっており
出力する際には正しく出力されます。)


現時点では上記の理由により、変更の予定はありません。
ただ、引数が1つ増えてしまうことは誤解を招きますので
将来的により良い方法を模索して行ければと考えております。

ご理解いただけますと助かります。
tkouno
投稿日時: 2011-5-25 17:40
EA Administrator
投稿: 3939

Re: C++にて、引数をvoidにしたメソッドを読み込んだときの動作

この挙動につきましては、バージョン9.0で変更し、当初のご要望通りの
挙動になるように変更いたしました。

長らくご迷惑をおかけし申し訳ございませんでした。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ