Boa tarde a todos, estou desde ontem tentando resolver esse problema e após muitas consultas em vão na internet estou abrindo esse tópico.
Sou iniciante com Linux e estou desenvolvendo um pequeno teste de programação para uma disciplina na graduação.
O problema é que não consigo compilar esse código em C++ via codeBlocks, me é apresentado o seguinte erro:
Referência indefinida para 'No::escreveId()'
Já conferi e estou usando o compilador g++, tentei realizar a linkagem manualmente pelo terminal e o mesmo erro é apresentado...
Segue meus arquivos fonte: (Lembrando que é apenas um teste de comunicação entre headers:
No.h
#ifndef NO_H
#define NO_H
#include <stdlib.h>
class No{
int id; //id do nó
public:
No(int);
void escreveId();
};
#endif // NO_H
no.cpp
#include "No.h"
#include <stdlib.h>
#include <iostream>
using namespace std;
No::No(int id){
this->id=id;
}
void escreveId(){
cout << "fuck";
}
main.cpp:
#include <iostream>
#include <stdlib.h>
#include <list>
#include "No.h"
using namespace std;
int main()
{
int opcao,id1,id2;
No *noAux;
list<No> listNos;
list<No> listAdj;
list<No>::iterator it;
cout << "Informe o nó que deseja inserir: ";
cin >> id1;
noAux=new No(id1);
noAux->escreveId();
}