gpt4 book ai didi

c++ - 如何使用 C++ 从 OMNet++ 中的 cModule 获取 cSimpleModule?

转载 作者:行者123 更新时间:2023-11-28 05:17:22 24 4
gpt4 key购买 nike

我有一个包含简单模块(R = receiver_1 + receiver_2)的复合模块,我的网络包含 2 个模块(R + R1),它们都是相同的(R 类),我想访问简单模块在使用 C++ 的两者中,我尝试使用:

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

但自然而然地,我有一个错误告诉我,在第二行中“从‘cModule*’到‘cSimpleModule*’的无效转换”。那么如何访问 cModule 的 cSimpleModule 呢?请帮助我。

最佳答案

getSubmodule() 方法返回指向 cModule 对象的指针,因此您应该使用 将结果转换为指向 cSimpleModule 的指针>check_and_cast:

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

此外,getSubmodule() 中的第二个参数仅在复合模块包含子模块的 vector 时使用。根据您的描述,没有 vector ,因此我建议省略此参数。

关于c++ - 如何使用 C++ 从 OMNet++ 中的 cModule 获取 cSimpleModule?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42331970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com