bonjour,
je rame pour un truc tout simple que j'arrive pas à compiler... je comprend pas car c'est bidon !!

Mere.h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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