']' 标记之前的预期主表达式"

expected primary-expression before ']' token"

本文关键字:表达式      更新时间:2023-10-16
//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 个决策并输出结果。

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

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

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

这与我调用函数的行相同。我已经尝试了一些方法来尝试修复它,但我不断收到一些错误。

任何建议将不胜感激,谢谢。

GetCount( int count[] );

应该是

GetCount(count);

该类型不必重复;编译器知道count与您刚刚声明为int[]变量相同。