2013-11-12 6 views
1
C:\Users\PC\Desktop\random\main.o:main.cpp:(.text+0x76)||undefined reference to `Tclass::FFunction()'| 

Я сделал свой собственный класс, который является внешним от основной программы, и это ошибка, которую я получаю. Вот код моей программы.Неопределенная ссылка на внешний класс

Основная программа (.cpp)

#include<iostream> 
#include "Tclass.h" 
#include "Tclass.cpp" 

using namespace std; 

int main(){ 
    Tclass object; 
    object.FFunction(); 
    return 0; 
} 

Файл заголовка. (.h)

#ifndef TCLASS_H 
#define TCLASS_H 


class Tclass 
{ 
    public: 
     Tclass(); 
     void FFunction(); 
}; 

#endif // TCLASS_H 

C++ таблицы стилей (я думаю, что это то, что она называется) (.cpp)

#include "Tclass.h" 
#include<iostream> 
using namespace std; 

Tclass::Tclass() 
{ 
    cout << "An object for this class has been created \n"; 
} 

void FFunction(){ 
    cout << "The function has been created \n"; 
} 

Я использую код :: блок, как мой IDE. Я также создал класс с любыми деструкторами

+0

Кажется, что вам не хватает ссылки для этого объекта. Является ли TCone в формате .a, .o или in .h/.cpp? –

+0

это формат .cpp, на который я верю. Вы говорите о функциях, то это в формате .cpp, если вы говорите о классе, а затем в формате .h. – n00b

+1

Какие IDE вы используете? Похоже, что он не связывает «Cone.o» с окончательным исполняемым файлом. Все исходные файлы '.cpp' включены в ваш проект? Казалось бы, только «Main.cpp» является целью построения. – paddy

ответ

1

в файле .cpp:

void Tclass::FFunction(){ 
    cout << "The function has been created \n"; 
} 

вместо:

void FFunction(){ 
    cout << "The function has been created \n"; 
} 

также, нет никакой необходимости включать Tclass.cpp в вашем главном.

+0

Я пробовал его без 'Tclass.cpp', но он не запускался вообще. Но когда я оставил 'Tclass.cpp' в основном, он работал нормально после того, как я добавил изменения, которые вы мне дали. Спасибо ^^ Ошибка, которую я получил, когда я удалил 'Tclass.cpp': ' C: \ Users \ PC \ Desktop \ random \ main.o: main.cpp :(. Text + 0x16) || undefined ссылка на Tclass :: Tclass() '| '' C: \ Users \ PC \ Desktop \ random \ main.o: main.cpp :(. Text + 0x22) || неопределенная ссылка на 'Tclass :: FFunction()' | || === Сборка завершена: 2 ошибки, 0 предупреждений === | ' – n00b

+0

@ user2985134, что не должно произойти. – stellarossa

+0

Будет ли это мешать коду? Если да, попробуйте повторно установить IDE. – n00b

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