Error while compiling code in C++

Asked

Viewed 38 times

0

inserir a descrição da imagem aquiI’m starting to learn POO in C++ and when I compiled the code gave a very strange error that I have no idea how to solve. I couldn’t find anything on the net to help. I thought I’d done something wrong in the code and copied and pasted the code into it website, and it worked. Please help me :( .

Main:

// LivrodeNotasMain.cpp
#include <iostream>
#include "LivroDeNotas.h"

using namespace std;

// a função main inicia a execução do programa
int main() {
    LivroDeNotas meuLivro1("C++ Introdução à Programação"); // cria o objeto LivroDeNotas chamado meuLivro1
    LivroDeNotas meuLivro2("C++ Estrutura de Dados"); // cria outro objeto da classe LivroDeNotas

    // exibe o nome dos cursos
    cout << "meuLivro1 criado com o nome " << meuLivro1.getNomeCurso()
     << "\nmeuLivro2 criado com o nome " << meuLivro2.getNomeCurso()
     << endl;
    
    return 0;
}

Implementation of tasks:

// LivroDenotas.cpp
#include <iostream>

using namespace std;

#include "LivroDeNotas.h"

// construtor da classe
LivroDeNotas::LivroDeNotas(string nome) {
    nomeCurso = nome;
}

// função que configura o nome do curso
void LivroDeNotas::setNomeCurso(string nome) {
    nomeCurso = nome;
}

// função que retorna o nome do curso;
string LivroDeNotas::getNomeCurso() {
    return nomeCurso;
}

// função que da boas-vindas =D
void LivroDeNotas::exibirMensagem() {
    cout << "Bem-vindo ao livro de notas do curso\n" <<
        getNomeCurso() << "!" << endl;
}

Header file:

//LivroDeNotas.h
// Definição da classe LivroDeNotas
#include <string>

using namespace std;

// definição da classe LivroDeNotas
class LivroDeNotas {
public:
    LivroDeNotas(string); // construtor da classe
    void setNomeCurso(string); // função que configura o nome do curso
    string getNomeCurso(); // função que retorna o nome do curso;
    void exibirMensagem(); // função de mensagem de boas-vindas :D
private:
    string nomeCurso;
};
  • declare the default constructor and see if anything changes. Which compiler is using?

  • The error that you received is in Linker is to say that the compiler is not finding the definitions of the functions that you defined in the header "Booknotes. h". To resolve vc you need to add the "Livrodenotas.cpp" file in the list of files of the current target of the project, either in Makefile or Cmakelists.txt. Then VS Code will recognize and compile this file along with "Livrodenotasmain.cpp" to generate its executable. You can compile from the command line using GCC as well. Just list the two cpp files and finish with -o arquivo_executavel.

  • Thanks! Using the terminal I managed to compile =D

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.