我正在构建一段代码,该代码实现mersenne twister随机无符号长发生器来模拟老虎机。当我在main中声明变量时,出现以下错误代码:
错误:预期的标识符或'&'标记前的'('。

int main()
{
    int window1 = 0, window2 = 0, window3 = 0;
    unsigned long &random1, &random2, &random3; /* error code on this line */
    ...
    mersenneTwister(&random1, &random2, &random3); /* calls a subroutine named mersenneTwister */
    ...
    return 0;
}

子例程运行正常;我通过单独运行它进行了测试,唯一的错误是一条声明行。

最佳答案

不要在声明中使用&运算符。改成:

    unsigned long random1, random2, random3; /* error code on this line */
&运算符用于对函数的调用,以提供指向这些变量的指针,大概是为了填充MersenneTwister函数。变量本身是普通的无符号长对象。

关于c - 预期标识符或 '(' token 之前的 '&',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51270255/

10-09 15:32