Problèmes de classe Template composée de fonctions statiques
Mourad2009B
Messages postés
145
Statut
Membre
-
Mourad2009B Messages postés 145 Statut Membre -
Mourad2009B Messages postés 145 Statut Membre -
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
- Notice de fonctionnement - Guide
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
- Impossible d'installer hyper-v le processeur ne dispose pas des fonctions de virtualisation requises ✓ - Forum Hyper-V
- Durée de fonctionnement processeur - Forum Windows 10