在iPhone(Xcode 4)中,使用该功能
srandom(time(NULL));
srand
和srandom
都发出此警告。但是当它运行正常时。
为什么我在我的一个类文件中收到警告?我在其他文件中使用过它,但没有警告。
Warning: passing argument 1 of 'srand' makes integer from pointer
without a cast
但是,使用arc4random()
可以解决此问题。但在大多数示例中,srand()
以这种方式使用,没有人抱怨。这就是为什么我感到困惑。
答案 0 :(得分:0)
因为srand期望一个整数而time()返回一个指针(来自你特定错误的外观)。明确地转换为int将使它消失。或者也许读取指针以获取实际时间值可能是您正在寻找的。这里不是100%确定时间的返回值,但我会仔细检查以确保它确实返回一个抽搐值而不是一个指向time_t对象的指针,该指针随着时间的推移将保持大致相同。
根据我刚刚读到的内容,它应该返回一个time_t值,当转换为int时,它是自1972ish以来经过的秒数。所以通常不是指针,但在你的情况下它可能是。无论哪种方式,添加一个取消引用和一个演员,或者只是一个演员,如果你可以让它直接返回time_t。