Je travaille sur un petit projet dans lequel j'utilise plusieurs classes. Une de ces classes est Menu
, qui a une méthode showContainer
. Voici la déclaration de la classe:C++ - Problèmes de référence non définis lors de l'utilisation de classes
class Menu {
//snip
Menu();
Menu(std::string, std::string, int, int);
virtual ~Menu();
//snip
/**
* Visualiza e providencia navegacao presente num container
* @param Container a mostrar
* @return Indice seleccionado pelo utilizador
*/
template <class C>
void showContainer(std::list<C>, int, int);
};
Compile bien. J'ai ajouté le test suivant pour main.cpp
de projet:
Menu menu;
Manga* manga1;
manga1->setCapacidade(60);
manga1->setCategoria(LongoCurso);
manga1->setLocalizacao("Norte");
manga1->setNumero(143);
Manga* manga2;
manga2->setCapacidade(60);
manga2->setCategoria(LongoCurso);
manga2->setLocalizacao("Norte");
manga2->setNumero(143);
Manga* manga3;
manga3->setCapacidade(60);
manga3->setCategoria(LongoCurso);
manga3->setLocalizacao("Norte");
manga3->setNumero(143);
std::list<Manga *> teste;
teste.push_back(manga1);
teste.push_back(manga2);
teste.push_back(manga3);
menu.showContainer(teste, 5, 0);
return 0;
Cela renvoie l'erreur du compilateur suivant:
C:\Users\Francisco\workspace_aeda\ProjectoAEDA\Debug/../src/main.cpp:96: undefined reference to `void Menu::showContainer<Manga*>(std::list<Manga*, std::allocator<Manga*> >, int, int)'
Toutes les suppositions?
Merci pour votre temps.
est 'modèle Menu vide :: showContainer (std :: liste , int, int)' définie dans l'en-tête? –
Oui. Résolu, merci! –
Vous devriez accepter une réponse, alors. –