bonjour,
je rame pour un truc tout simple que j'arrive pas à compiler... je comprend pas car c'est bidon !!
Mere.h:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #ifndef MERE_H_
#define MERE_H_
class Mere
{
int variable;
public:
Mere();
~Mere();
int getVar();
void setVar(int var);
};
#endif |
Mere.cpp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include "Mere.h"
Mere::Mere()
{
variable = 0;
}
int Mere::getVar()
{
return variable;
}
void Mere::setVar(int var)
{
variable = var;
} |
et
main.cpp:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <iostream>
#include "Mere.h"
int main (void)
{
std::cout << "cool" << std::endl;
Mere a;
a.setVar(10);
std::cout << a.getVar() << std::endl;
return 0;
} |
Pour compiler je fais:
et ça donne:
1 2 3 4 5 6
| main.cpp:(.text+0x36): undefined reference to `Mere::Mere()'
main.cpp:(.text+0x4a): undefined reference to `Mere::setVar(int)'
main.cpp:(.text+0x56): undefined reference to `Mere::getVar()'
main.cpp:(.text+0x87): undefined reference to `Mere::~Mere()'
main.cpp:(.text+0x99): undefined reference to `Mere::~Mere()'
collect2: error: ld returned 1 exit status |
et quand je compile comme ça:
ça donne:
Mere.cpp:3:12: error: definition of implicitly-declared Mere::Mere()
Mais pourquoi? que dois-je faire? c'est pourtant si simple.. :-((((
merci bcp d'avance
Partager