2015-12-13 5 views
0

Так что я сейчас изучаю CPP, я использую Codeblocks, и когда я пытаюсь создать конструктор и деконструктор с классом, используя отдельные файлы, я продолжаю получать ошибкаCPP undefined ссылка на «Myclass :: Myclass()» с помощью кодовых блоков

||=== Build: Debug in 1 (compiler: GNU GCC Compiler) ===| 
C:\Users\xxxxx\AppData\Local\Temp\cclh2esZ.o||In function `main':| 
C:\Users\xxxxx\Desktop\1\1\main.cpp|8|undefined reference to `Myclass::Myclass()'| 
C:\Users\xxxxx\Desktop\1\1\main.cpp|8|undefined reference to `Myclass::~Myclass()'| 
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===| 

и вот код, который я использую, чтобы получить эту ошибку

main.cpp

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

using namespace std; 

int main() 
{ 
    Myclass obj; 
} 

Myclass.h

#ifndef MYCLASS_H 
#define MYCLASS_H 


class Myclass 
{ 
    public: 
     Myclass(); 
     ~Myclass(); 
}; 

#endif // MYCLASS_H 

Myclass.cpp

#include "Myclass.h" 
#include <iostream> 
using namespace std; 
Myclass::Myclass() 
{ 
    cout << "constructor"<< endl; //ctor 
} 

Myclass::~Myclass() 
{ 
    cout << "deconstructor" << endl; 
} 

Пожалуйста, помогите мне, я застрял в течение дня, и теперь я могу действительно нужна помощь. Заранее спасибо

+0

Вы можете продемонстрировать разницу? –

+0

@vishal * укажите код main.cpp в Myclass.cpp * и получите смех от вашего следующего собеседования. –

+0

@nm я знаю, что это не правильный путь !, – vishal

ответ

0

Единственное, что я могу думать, может вызвать такую ​​проблему, которая будет ошибкой связи.

Если вы перейдете на вкладку «Файл», затем выберите класс и просмотрите приглашения в окне, и он должен автоматически создать и связать заголовок и исходный файл.

Если вы хотите связать свои файлы вручную, вы можете добавить путь к папке, в которой находится файл, под вкладкой «Проект», затем «Параметры сборки», затем «Искать каталоги». Любые адреса, которые вы добавляете в компилятор и компоновщик, будут искать, когда компилятор ищет #include.

+0

что-то, что нужно сделать через интерфейс блока кода правильно? –

+0

Правильно. Вышеупомянутые вкладки находятся в верхней части окна кодовых блоков. – user94332

+0

так где в моем коде есть ошибка? –

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