掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
C++のメソッドの引数に*や&を付加したい |
| フラット表示 | 前のトピック | 次のトピック |
| 投稿者 | トピック |
|---|---|
| sugimoto | 投稿日時: 2008-2-20 15:10 |
EA Administrator ![]() ![]() 投稿: 1895 |
C++のメソッドの引数に*や&を付加したい○ご質問
C++のメソッドの引数において、種類を「out」にしても * が付きません。 また、引数に&を付けたい場合、どうすればよいのでしょうか? ○回答 現状、既存のコード生成テンプレートでは、メソッドの引数に*や&を付加 するようになっていませんので、コード生成テンプレートをカスタマイズ する必要があります。 以下の例では、引数の種類がoutの場合、オプションのC++のページに おける「既定の参照型」(デフォルトは*)に合わせてコード生成する ようにしています。 また、&につきましては、例えばoutの場合には*だが、inoutのときには&の ような形で対応することは可能です。 この場合、以下のテンプレートで「%if paramKind == "out"%」と判定して いる部分にinoutの場合の判定も追加し、%genOptCPPDefaultReferenceType% の値を利用するのではなく、固定文字として*や&を返すようにすることで 個別に変更できます。 --Parameterテンプレート-- %PI=" "% %paramFixed=="T" ? "const" : ""% %paramIsEnum=="T" ? "enum" : "" % %PI=""% %RESOLVE_QUALIFIED_TYPE("::", "int")% %if paramKind == "out"% %genOptCPPDefaultReferenceType% %endIf% %if paramType != "void"% %paramName% %endIf% %PI=""% %if paramDefault != "" and paramDefault != "<none>"% = %paramDefault% %endIf% --Parameter Implテンプレート-- %PI=" "% %paramFixed=="T" ? "const" : ""% %paramIsEnum=="T" ? "enum" : "" % %PI=""% %RESOLVE_QUALIFIED_TYPE("::", "int")% %if paramKind == "out"% %genOptCPPDefaultReferenceType% %endIf% %if paramType != "void"% %paramName% %endIf% |
| フラット表示 | 前のトピック | 次のトピック |
| 題名 | 投稿者 | 日時 |
|---|---|---|
| » |
sugimoto | 2008-2-20 15:10 |




