blobbymatt
blobbymatt

Reputation: 317

Error 1 Cannot apply indexing with [] to an expression of type 'int'

I am using Microsoft Visual Studio 2010 and C#. This is a function that is being called form elsewhere in my console program, but I can't seem to get input into the array ipoints.

static void GetPoints(int ipoints, string srestaurant)
{
    int index = 0;
    int iinput;
    for (index = 0; index < 5; index++)
    {
        Console.Write("please enter how many points " + srestaurant[index] + " got : ");
        iinput = Convert.ToInt32(Console.ReadLine());

        while (iinput < 0 && iinput > 20)
        {
            Console.Write("please enter how many points " + srestaurant[index] + " got : ");
            iinput = Convert.ToInt32(Console.ReadLine());
        }
        ipoints[index] = iinput;
    }
}

Upvotes: 4

Views: 23110

Answers (2)

K. S.
K. S.

Reputation: 587

You need to declare ipoints as an array of ints, not just an int.

Change int ipoints to int[] ipoints.

Upvotes: 5

Simon Whitehead
Simon Whitehead

Reputation: 65079

You're trying to use an int like an int[] array.

Here:

static void GetPoints(int ipoints, string srestaurant)
//                    ^^^^^^ not an array

You're doing it here:

ipoints[index] = iinput;
//     ^^^^^^^ its not an array

Either make it an array, or rethink what you're trying to do.

Upvotes: 4

Related Questions