Attention, l'erreur qui va suivre est probablement stupide, alors si vous avez eu une mauvaise journee et manquez de patience, passez votre chemin
J'essaye de compiler un chti prog compose des 3 fichiers suivants :
main.cpp
Code :
- #include <iostream>
- #include "locales.h"
- int main(){
- std::cout << ".:The Core File Library:." << std::endl;
- Entry MyEntry;
- std::cout << MyEntry.GetValue() << std::endl;
- Entry MyEntry2(12,"test" );
- std::cout << MyEntry2.GetValue() << std::endl;
- return 0;
- }
|
locales.h
Code :
- #include <string>
- class Entry
- {
- private:
- int id;
- std::string name;
- public:
- Entry();
- Entry(int id_, std::string name_);
- std::string GetValue();
- };
|
locales.cpp
Code :
- #include "locales.h"
- Entry::Entry(){
- id=0;
- name="no name";
- }
- Entry::Entry(int id_, std::string name_){
- id=id_;
- name=name_;
- }
- string Entry::GetValue{}{
- return id << "-" << name;
- }
|
le message d'erreur du compilateur (g++) est
/tmp/ccp9ApzV.o(.text+0x3c): In function `main':
: undefined reference to `Entry::Entry[in-charge]()'
/tmp/ccp9ApzV.o(.text+0x4e): In function `main':
: undefined reference to `Entry::GetValue()'
collect2: ld returned 1 exit status
zsh: exit 1 g++ -o test.exe test.cpp
|
Je ne comprends pas pourquoi la reference a Entry::Entry n'est pas definie. Et ce [in charge], il vient d'ou
---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8