2017-11-08 30 views
0

서명을 사용하여 NetDevice의 수신 콜백 내부에서 WiFiPhy에 액세스하려고합니다.NS3에서 수신 된 콜백에서 WiFiPhy에 액세스

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

콜백 내부에서 WiFiDevice의 NetDevice를 WiFiPhy 기능과 같이 캐스팅했습니다.

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

실행 중에 세그먼트 오류가 발생합니까? 여기 실제로 잘못하고 있는게 뭐야?

감사

답변

0

좋아 나는 보았다 그래서 덤프 .. 당신이 NetDeviceContainer를 만들 때 개체가 어떤 WifiPhy이없는 유형 NetDevice이다. 해결 방법은 DynamicCast로 WifiNetDevice으로 보내고 프레임을 보내십시오.

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