我正在构建一段代码,该代码实现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;
}
该子例程运行正常;我通过单独运行它进行了测试,唯一的错误是那条声明行。
答案 0 :(得分:4)
不要在声明中使用&运算符。更改为:
unsigned long random1, random2, random3; /* error code on this line */
函数调用中使用&
运算符来提供指向这些变量的指针,大概是您的MersenneTwister
函数所要填充的。变量本身是普通的无符号长对象。