Неопределенная ошибка ссылки на один класс / файл

Возможный дубликат:
Что такое неопределенная ссылка / неразрешенная внешняя ошибка символа и как ее исправить?

У меня есть игровая программа, и я очень разочарован. Все работало нормально, и я решил очистить свою программу, создав отдельные файлы для каждого набора функций. Код очень длинный с несколькими файлами, но вот основная идея:

Я на Windows XP, используя Code :: Blocks IDE

В моем entity.h я объявил все свои функции и переменные для этого класса. В моем файле entity.cpp я включил его, а также во все остальные мои файлы. Но я все еще получаю огромный список ошибок, которые говорят мне, что у меня есть неопределенная ссылка на все методы в entity.h, а также на все мои другие заголовочные файлы. Например, у меня есть вызов функции print (), чтобы упростить распечатку, и это первый метод, который я вызываю из файла entity.h. Я получаю эту ошибку:

Вот код для печати ():

void print(string f) {
cout<<f<<endl;
}

Как я это называю:

void Player::win(){
entity e;
e.print("You have defeated the orc");

}
Ошибка:

In function 'ZN6Player3winEv': undefined reference to 'entity::print(std::string)'

И да, у меня есть объект сущности.
Это также происходит для каждой отдельной функции в классе и файле сущности.

1

Решение

void print(string f) {
cout<<f<<endl;
}

должно быть

void entity::print(string f) {
cout<<f<<endl;
}
2

Другие решения

void print(string f) {
cout<<f<<endl;
}

это глобальная функция

если хочешь позвонить

e.print("You have defeated the orc");

тогда вам нужна реализация для

void entity::print(string f)
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector