Problèmes de classe Template composée de fonctions statiques
Mourad2009B
Messages postés
123
Date d'inscription
Statut
Membre
Dernière intervention
-
Mourad2009B Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
Mourad2009B Messages postés 123 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voila comme indiquer dans le titre, j’ai un problème avec une classe Template dans la quelle j’ai déclaré des fonctions statiques.
Voici le code de ma classe TEMPLATE
et voici le main.cpp
Et voici l’erreur déclenchée
Si quelqu’un à une idée svp.
Merci d’avance.
Voila comme indiquer dans le titre, j’ai un problème avec une classe Template dans la quelle j’ai déclaré des fonctions statiques.
Voici le code de ma classe TEMPLATE
#ifndef SORTCLASS_H
#define SORTCLASS_H
#include<iostream>
template<typename T>
class SortClass
{
public:
SortClass(){};
//Fonction pour afficher un tableau
static void print(T *tab, int n)
{
std::cout << tab[0];
for(int i(1); i< n; i++)
{
std::cout << ", " << tab[i];
}
}
//Tri par PERMUTATION
static void sortPermutation(T tab[], int n)
{
int compteur(0);
for(int i(0); i<n; i++)
{
for(int j(i); j<n; j++)
{
compteur++;
if(tab[i] < tab[j])
swap(tab[i], tab[j]);
}
}
}
};
#endif // SORTCLASS_H
et voici le main.cpp
#include <iostream>
#include <Windows.h>
#include <chrono>
#include "rndclass.h"
#include "sortclass.h"
int main()
{
unsigned int temp = GetConsoleOutputCP();
SetConsoleOutputCP(CP_UTF8);
cout << "Hello World!" << endl;
int n = 1000000;
int *tab = new int[n];
string *tabLettres = new string[n];
for(int i(0); i<n; i++)
{
tabLettres[i] = RndClass::rndString();
}
//print(tabLettres, n);
cout << "***********************************************************************" << endl;
auto start = std::chrono::system_clock::now();
SortClass::sortPermutation(tabLettres, n);
auto end = std::chrono::system_clock::now();
auto elapsed = end - start;
std::chrono::duration<double> diff = end - start;
cout << "le temps est de : " << elapsed.count() << endl;
cout << "le temps diff est de : " << diff.count() << endl;
SortClass::print(tabLettres, n);
SetConsoleOutputCP(temp);
return 0;
}
Et voici l’erreur déclenchée
D:\Fichiers_applications\C++\Projets_QtCreator\Algorithmie\AlgoTri\AlgoTri\main.cpp:144: erreur : 'SortClass' is not a class, namespace, or enumeration
D:\Fichiers_applications\C++\Projets_QtCreator\Algorithmie\AlgoTri\AlgoTri\main.cpp:152: erreur : 'template<class T> class SortClass' used without template parameters
../AlgoTri/main.cpp:152:5: error: 'template<class T> class SortClass' used without template parameters
SortClass::print(tabLettres, n);
Si quelqu’un à une idée svp.
Merci d’avance.
A voir également:
- Problèmes de classe Template composée de fonctions statiques
- Logiciel de classement de photos gratuit - Guide
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
- Notice de fonctionnement - Guide
- Le fichier à télécharger comporte une image composée de quatre calques numérotés de 1 à 4. dans la fenêtre des calques, mettez les calques dans cet ordre : 2 (tout en haut) 3 1 4 (tout en bas) quelle suite d’animaux s’affiche de gauche à droite ? - Forum Photoshop
- Durée de fonctionnement pc ✓ - Forum Windows 8 / 8.1