I have searched for help on this on the internet, but I'm not quite sure why I can't use a variable as the array size in this one. I read that C99 compilers can accept this and this is how my C++ textbook says to do this, so I'm having trouble locating the problem. I am running Visual C++ 2005 Express Edition, but I am new to this and don't know what compiler this Visual C++ has so there is a chance the compiler isn't a C99. Is there any other way to get this code to compile with a variable as the array size? The line with the error "expected constant expression" starts off with the declaration and initialization:
Code:
int studentScores[numOfScores]={0};
I even tried an initialization array instead of this at one point, but it just caused more errors with the same "expected constant expression" as the first error. Since it isn't that long, I've posted the complete code. If any more information or clarification is needed, don't hesitate to ask and thank you in advance for the help.

-Andrea

Code:
#include <iostream>

using namespace std;

void fill(int stuScores[], int numScores);

int main()
{
	int numOfScores=26;
	int range1=0, range2=0, range3=0, range4=0, range5=0, range6=0, range7=0, range8=0;
	int studentScores[numOfScores]={0};
	int count;

	cout<<"Please enter"<<numOfScores<<"test scores:";

	fill(studentScores[], numOfScores);

	for(count=0; count<numOfScores; count++)
	{
		if(studentScores[count]<0)
		{
			cout<<"Invalid Score"<<endl;
		}
		else
			if(studentScores[count]<=24)
			{
				range1++;
			}
			else
				if(studentScores[count]<=49)
				{
					range2++;
				}
				else
					if(studentScores[count]<=74)
					{
						range3++;
					}
					else
						if(studentScores[count]<=99)
						{
							range4++;
						}
						else
							if(studentScores[count]<=124)
							{
								range5++;
							}
							else
								if(studentScores[count]<=149)
								{
									range6++;
								}
								else
									if(studentScores[count]<=174)
									{
										range7++;
									}
									else
										if(studentScores[count]<=200)
										{
											range8++;
										}
										else
											if(studentScores[count]>200)
											{
												cout<<"Invalid Score"<<endl;
											}
	}

	cout<<"The score ranges and the number of students are:"<<endl;

	cout<<"0-24:"<<" "<<range1<<endl;
	cout<<"25-49:"<<" "<<range2<<endl;
	cout<<"50-74:"<<" "<<range3<<endl;
	cout<<"75-99:"<<" "<<range4<<endl;
	cout<<"100-124:"<<" "<<range5<<endl;
	cout<<"125-149:"<<" "<<range6<<endl;
	cout<<"150-174:"<<" "<<range7<<endl;
	cout<<"175-200:"<<" "<<range8<<endl;

	return 0;
}

void fill(int stuScores[], int numScores)
{
	int index;
	for(index=0; index<numScores; index++)
	{
		cin>>stuScores[index];
	}
}