Struct type “ne pas fournir un indice de l'opérateur”

Je suis en train de lire des valeurs à partir d'un fichier dans un tableau de structures. Cependant, je continue à recevoir des erreurs du compilateur qui me disent que mon struct, de Livres, de ne pas fournir un indice de l'opérateur et je suis perdu.

La structure est contenue dans un fichier d'en-tête tandis que la déclaration de la matrice de structs est dans main(). Voici la (les) code de l'fonctions.h fichier d'en-tête:

#ifndef FUNCTIONS_H
#define FUNCTIONS_H
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

struct Books
{
        int ISBN;
        string Author;
        string Publisher;
        int Quantity;
        double Price;
};


class functions
{
        public:
                void READ_INVENTORY(Books, int, int);

};


//Function definitions

void READ_INVENTORY(Books array, int max, int position)
{
        ifstream inputFile;
        inputFile.open("inventory.dat");

        inputFile >> array[position].ISBN;
        inputFile >> array[position].Author;
        inputFile >> array[position].Publisher;
        inputFile >> array[position].Quantity;
        inputFile >> array[position].Price;

        cout << "The following data was read from inventory.dat:\n\n"
             << "ISBN: " << array[position].ISBN << endl
             << "Author: " << array[position].Author << endl
             << "Publisher: " << array[position].Publisher << endl
             << "Quantity: " << array[position].Quantity << endl
             << "Price: " << array[position].Price << endl << endl;
}

Et voici le tableau de struct déclaration principale, ainsi que la façon dont il est utilisé:

#include <iostream>
#include <string>
#include <fstream>
#include "functions.h"
using namespace std;

int main()
{
        const int MAX_SIZE = 100;
        int size, choice;
        functions bookstore;
        Books booklist[MAX_SIZE];

        cout << "Select a choice\n\n";

            cin >> choice;

            size = choice;

            switch (choice)
            {
                    case 1: bookstore.READ_INVENTORY(booklist[choice], MAX_SIZE, size);
                            break;

             }
}

Une fois compilé, je reçois 10 messages d'erreur (un pour chaque fois que j'tableau[position]) que l'etat: d'erreur: type "Livres" n'est pas de fournir un indice de l'opérateur

Books array n'est pas un tableau. Vous devriez passer Books* array. Actuellement, vous venez de passer d'un Livre et qui a, évidemment, pas de []. BTW, vous devriez améliorer le nom de la variable, le tableau n'est pas très descriptif; comment books?
array n'est pas un tableau...

OriginalL'auteur jshapy8 | 2015-04-01