无法编译-范围问题

时间:2019-03-23 11:26:48

标签: c++ srand

我已经从一本书(第一个结果链接here)中复制了关于“模拟退火”的程序,并且在main()的下一行中遇到了以下编译问题。

srand48(tp.tv_usec);

使用Dev-C ++编译时出错:

[Error] 'srand48' was not declared in this scope

完整代码位于:https://onlinegdb.com/HyruMTmdN。 并在下面列出了相关的(修剪的版本):

#include <sys/time.h>

extern double drand48();
extern long lrand48(/*long*/);
extern int rand();
extern void srand(long seedval);



//main program
main()
{

//set random number generator
struct timeval tp;
struct timezone tzp;
gettimeofday(&tp,&tzp);
srand48(tp.tv_usec);

return 1;    
}    

1 个答案:

答案 0 :(得分:1)

pop()是一个函数,就像被当作变量一样被索引。快速浏览一下,这里可能需要一个数组op。所以也许在这些地方应该op[x]而不是pop[x]

当看原始图片时。因此,应关闭用户的复制错误。