Manquant arguments de modèle avant '.' token

Je suis en train d'organiser mon programme en fonctions et ont couru dans ce,

d'erreur: "missing arguments de modèle avant '.' token"

une fois que j'essaie d'exécuter le code dans la fonction, il fonctionne très bien si c'est juste dans main(). Quiconque est familier avec cette erreur de savoir ce que le problème peut être?

Note, le commentaire sur le code de l'erreur est supprimée, mais les dégâts avec la liste ordonnée class et réinitialise sa longueur, ou quelque chose, causant la orderedlist.getlength() fonction de return 0, qui ne fait plus le code de la while() boucle exécuter.

fonction:

void rentFilm(char* filmId, char* custId, char* rentDate, char* dueDate, int numFilm)
{
    //orderedList <filmType> orderedList(numFilm);
    //filmType newItem;
    int index = 0;
    bool found = false;

    while (index < orderedList.getLength() && !found)
        {
            cout << "test" << endl;
        if (strncmp(filmId,orderedList.getAt(index).number,6) == 0 && strncmp("0000",orderedList.getAt(index).rent_id,5) == 0)//If that film is rented by NO customer
            {
                cout << "test" << endl;
                found = true;//customer can rent it
                strcpy(newItem.number,filmId);
                orderedList.retrieve(newItem);
                orderedList.remove(newItem);
                strcpy(newItem.rent_id,custId);
                strcpy(newItem.rent_date,rentDate);
                strcpy(newItem.return_date,dueDate);
                orderedList.insert(newItem);
                cout << "Rent confirmed!" << endl;
            }
        else
            {
                if (strncmp(filmId,orderedList.getAt(index).number,6) > 0 || strncmp("0000",orderedList.getAt(index).rent_id,5) > 0)
                    {
                        ++ index;
                    }
                else
                    {
                     throw string ("Not in list");
                    }
            }
        }
}

Insérer dans orderedList classe (où la durée est déterminée):

template <class elemType>
void orderedList<elemType>::insert(const elemType& newItem)
{
     int index = length - 1;
     bool found = false;

     if (length == MAX_LIST)
         throw string ("List full - no insertion");

         //index of rear is current value of length

     while (! found && index >= 0)
        if (newItem < list[index])
        {
            list[index + 1] = list [index];  //move item down
            --index;
        }
        else
            found = true;

     list [index + 1] = newItem;  //insert new item
     ++length;
}

code dans le main, où la liste est remplie:

filmFile.open("films.txt", ios::in);
filmFile >> numFilm;
filmFile.get();

orderedList <filmType> orderedList(numFilm);
filmType newItem;

readString(filmFile, newItem.number,5);
    for (int i = 0; i < numFilm; i++)
    {
         newItem.copy = filmFile.get();
     readString(filmFile, newItem.title,30);
         readString(filmFile, newItem.rent_id,4);
         readString(filmFile, newItem.rent_date,8);
         readString(filmFile, newItem.return_date,8);
         filmFile.get();

         orderedList.insert (newItem);//puts filmType struct into the ordered list.

         readString(filmFile, newItem.number,5);
    }

S'il vous plaît laissez-moi savoir si le code à partir de n'importe où ailleurs dans le programme serait utile dans l'évaluation de cette erreur.

Qu'est-ce que orderedlist ? Est-il un class ?
Oui, c'est une classe, et orderedList(numFilm) est un constructeur
Il ne semble pas y avoir de problème avec ce code. Voulez-vous donner à minimum code pour class orderlist.
Ajouté un peu de code, n'a que peu d'aide?
Vous êtes loin d'être prêt à travailler avec des modèles encore. Revenir en arrière et étudier la différence entre une classe et une instance de la classe.

OriginalL'auteur darko | 2011-11-04