我不确定为什么我不能在这里获取我的变量的差异值,帮助!
int main()
{
srand(time(NULL));
srand48(time(NULL));
Packet* firstPacket = new Packet();
firstPacket->packetSize = randSize();
firstPacket->dest = randDest();
firstPacket->arrivalTime = myExp(lamb);
Host[firstPacket->dest].Frame.push_back(firstPacket); // adding first packet
Host[firstPacket->dest].numOfPack++;
calcFrameSize(Host[firstPacket->dest]);
cout << Host[token].frameTVTime << " " << Host[token].frameSize
<< " " << token << " " << curTime << endl;
}
最佳答案
你的陈述是:
srand(time(NULL));
srand48(time(NULL));
调用您:
inline float time(int size) { return (10.0*(float)size/12500); }
而不是系统时间?
这可以解释为什么您没有获得随机数。
正如指出的那样,time() 是该函数的错误名称。
关于C++不随机化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/913459/