我想使用签名访问NetDevice的接收回调中的WiFiPhy。

typedef Callback< bool, Ptr<NetDevice>, Ptr<const Packet>, uint16_t, const Address & > ReceiveCallback;


在回调内部,我正在将NetDevice像WiFiPhy函数一样投射到WiFiDevice。

Ptr<WifiNetDevice> wifiNetDevice = DynamicCast<WifiNetDevice>(device);
Ptr<WifiPhy> wifiPhyDev = wifiNetDevice->GetPhy();


但是我在运行过程中遇到了细分错误?我在这里实际上在做什么错?

谢谢

最佳答案

好的,我找到了..当您创建一个NetDeviceContainer时,该对象的类型为NetDevice,它没有任何WifiPhy。解决方案是将其动态投射到WifiNetDevice并发送帧。

Ptr<WifiNetDevice> wifiNetDevice = DynamicCast<WifiNetDevice>(netDevice);

关于c++ - 从NS3中已撤销的回调访问WiFiPhy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47183955/

10-11 23:20