2017-02-19 3 views
0

私は単純なモジュール(R = receiver_1 + receiver_2)を含んでいる複合モジュールを持っていて、私のネットワークは2つのモジュール(R + R1)を含んでいて、どちらも同じです(クラスR)。私が使用しようとしたC++と2、:C++を使ってOMNet ++のcModuleからcSimpleModuleを取得する方法は?

cModule *test = getModuleByPath("Network.R"); 
 
cSimpleModule *test1 = test->getSubmodule("receiver_2", 6);

しかし当然、私はエラーが発生しましたが2行目に「『* cSimpleModule』から 『cModule *』から無効な変換」と教えてくれました。どうすればcModuleのcSimpleModuleにアクセスできますか?私を助けてください。

答えて

1

もしcheck_and_castを用いcSimpleModuleへのポインタに結果をキャストしなければならないのでcModuleオブジェクトへのポインタを返すgetSubmodule()方法

cModule *test = getModuleByPath("Network.R"); 
cSimpleModule *test1 = check_and_cast<cSimpleModule *> (test->getSubmodule("receiver_2")); 

また、getSubmodule()の第2引数は、複合モジュールが含まれている場合にのみ使用されていますサブモジュールのベクトル。あなたの説明に基づいてベクトルがないので、私はこの議論を省略することをお勧めします。

+0

Ooh!複合モジュールについてのあなたの答え(ここではあまりにも)[リンク](http://stackoverflow.com/questions/33503266/how-do-i-call-a-parameter-for-a-compound-module#)のおかげでC++コードがないので、時間を節約できました。 –

関連する問題