Ajouter un commentaire

tigre_7665
[résolu][C++]Erreur de compilation

Bonjour,

A la compilation de mon programme, j'obtiens ce message :

g++ -o exemples.o -c exemples.cc -W -Wall -g
exemples.cc:7: erreur: redefinition of ‘Exemple<T>::Exemple()’
exemples.tpp:4: erreur: ‘Exemple<T>::Exemple()’ previously declared here
make: *** [exemples.o] Erreur 1

Que faut-il que je modifie ou ajoute pour que mon programme fonctionne?

Merci

Voici les différents fichier et le Makefile

// exemple.hh

#ifndef EXEMPLE_HH
#define EXEMPLE_HH

template <typename T>
class Exemple
{
public:
    Exemple();
};

#include "exemples.tpp"
#endif

// exemple.tpp

template <typename T>
Exemple<T>::Exemple()
{
}

//exemples.cc
#include <iostream>

#include "exemples.hh"


template <typename T>
Exemple<T>::Exemple(){
std::cout << "ceci est un exemple" << std::endl;
}

int main(){
Exemple<int> ex;
return 0;
}

CC=g++
CFLAGS=-W -Wall -g
LDFLAGS=-W -Wall -g
EXEC=exo

all: $(EXEC)

exo: exemples.o
	$(CC) -o exo exemples.o $(LDFLAGS)

exemples.o: exemples.cc
	$(CC) -o exemples.o -c exemples.cc $(CFLAGS)

clean:
	rm -rf *.o

mrproper: clean
	rm -rf $(EXEC)

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 III  L     H  H   GGG    SSS  
I L H H G S
I L HHHH G GG SSS
I L H H G G S
III LLLL H H GGG SSSS