在']之前预期的初级表达令牌"

时间:2014-04-07 16:09:29

标签: c++ compiler-errors

//Purpose: To simulate the probability that a car will make a decision in a video game.
//40% of the time the car will turn left, 30% right, 20% straight, and 10% explode.

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <iomanip>

using namespace std;

void GetCount( count[] );

int main()
{
  int count[4] = {0};
  unsigned int k;
  float theoretical;

  srand( (unsigned) time(NULL) );

  GetCount( int count[] );

  cout.setf( ios::showpoint | ios::fixed );
  cout << setprecision(2);
  cout << "                                 Car Simulation" << endl << endl
       << "                Number of        Experimental        Theoretical    % Error  " << endl
       << "             Times Selected        Percent             Percent               " << endl
       << "            ----------------    --------------      -------------    ------  " << endl;

  for ( k = 0; k < 4; k++ )
  {
      switch(k)
      {
          case 0:
              cout << "Left:     ";
              theoretical = 40;
              break;
          case 1:
              cout << "Right:    ";
              theoretical = 30;
              break;
          case 2:
              cout << "Straight: ";
              theoretical = 20;
              break;
          default:
              cout << "Explosion:";
              theoretical = 10;
              break;
      } // end switch 

           cout << setw( 12 ) << count[ k ] 
                << setw( 20 ) << count[ k ] / 10000.0 * 100.0
                << setw( 19 ) << theoretical 
                << setw( 13 ) << ( ( count[ k ] - theoretical * 100 ) / (theoretical * 100) * 100 )
              << endl << endl;
  } //end for 

cout << endl << endl;

system("PAUSE");
return 0;

} //end main

void GetCount( int count[] )
{
    int randNum;
    unsigned int k;

   for( k = 0; k < 10000; k++ )//generates random number 1-100 10,000 times
   {
      randNum = rand() % 100 + 1;

      if( randNum <= 100 && randNum > 60 )
           count[0]++; 
      else if( randNum <= 60 && randNum > 30 )
           count[1]++; 
      else if( randNum <= 30 && randNum > 10 )
           count[2]++; 
      else 
           count[3]++; 
  }//end for

}//end function definition

上面的代码用于模拟汽车在视频游戏中做出决定。

在一个十字路口,40%的车辆将向左转弯,30%的车辆向右转弯,20%的车辆转向,以及10%的时间车辆将会爆炸。

程序执行10,000个这些决定并输出结果。

除了函数&#34; GetCount()&#34;之外,一切都很好用。调用此函数时,应生成表示决策的随机数,并存储每个数字在其数组中生成的次数。

然而,当我编译程序时,我收到一个错误说:

"in line 21, expected primary-expression before ']' token".

这是我调用函数的行。我尝试了一些尝试并修复它但我不断收到一些错误。

非常感谢任何建议,谢谢。

1 个答案:

答案 0 :(得分:1)

GetCount( int count[] );

应该是

GetCount(count);

这种类型不必重复;编译器知道count是您刚刚声明为int[]的同一个变量。

相关问题