2015-08-15 3 views
3

Я уже проверил StackOverflow, чтобы найти решение моей проблемы, но я думаю, что, возможно, что-то не хватает. Я пытаюсь определить класс в файле заголовка (.h) и реализовать его методы в файле cpp (.cpp), но он не работает.Включая файлы заголовков в C++ (определение класса и реализация метода)

main.cpp:

#include <iostream> 
#include "Message.h" 

using namespace std; 

int main() 
{ 
    Message *t = new (Message); 

    t->display(); 

    return 0; 
} 

Message.h:

#ifndef MESSAGE_H_INCLUDED 
#define MESSAGE_H_INCLUDED 

class Message { 
public: 
    void display(); 
}; 

#endif // MESSAGE_H_INCLUDED 

message.cpp:

#include "Message.h" 

void Message::display() { 
    cout << "Hello!"; 
} 

Я не понимаю, почему я получаю следующее сообщение об ошибке

undefined reference to 'Message::display()' 
+3

Как это скомпилировать? – imreal

+3

Ваш код верен (кроме утечки памяти). Message.cpp не связывается - возможно, не скомпилирован. –

+0

Я использую CodeBlocks (GNU GCC Compiler) с флагами: -O2, -ansi, -Wall и -pedantic –

ответ

2

Скомпилируйте это с помощью команды g++ -std=c++11 Message.cpp main.cpp

Смежные вопросы