Hello I'm working on my MS thesis and I want to use some value from a variable in channel.cc , this variable return the Pr and Pt , power of receiver and power of transmitter respectively. so i defined a variable ("getvalue_") and a function (getvalue) in channel.h (channel header file) in this way:
[channel.h :] class WirelessChannel : public Channel { .... public: ... WirelessChannel(void); double getvalue_; inline double getvalue() {return getvalue_;} .... } and also in channel.cc ,call the variable and equal it to the function that desire to read : [channel.cc] void WirelessChannel::calcHighestAntennaZ(Phy *tifp) { ... getvalue_ = wifp->getPt(); printf("P_t____ = %f\n",getvalue_); ... } it's noticable that getvalue_ is printed in channel.cc but when call the function getvalue in AODV.CC [AODV.cc] { .... void AODV::recvRequest(Packet *p) { ... WirelessChannel *tifp; double x=tifp->gethighestAntennaZ(); printf("x____ = %f\n",x); double y=tifp->getvalue(); printf("y____ = %f\n",y); ... } the value of x is printed in terminal but but for the getvalue function segmentation fault occur. what should i do to read a variable from other cc files? which part of above i was wrong that segmentation fault happened? Thanks in advance for your help. ______________________________________________________ Alireza Shamsoshoara, M.Sc. Faculty of Electrical and Computer Engineering (ECE) K.N.Toosi University of Technology Tehran, IRAN.