2013-07-16 1 views
0

Вот мой код:Неопределенная ссылка на конструктор класса

menuState.hpp

#ifndef MENU_STATE_HPP 
#define MENU_STATE_HPP 

#include "state.hpp" 
#include <SFML/Graphics.hpp> 

class MenuState : public State 
{ 
    public: 
     MenuState(); 

     static void create(StateListener* Parent, const std::string name) 
     { 
      MenuState* myState = new MenuState(); 
      myState->parent = Parent; 
      Parent->manageState(name, myState); 
     } 

     void enter(); 
     void exit(); 
     void resume(); 
    private: 

}; 

#endif // MENU_STATE_HPP 

Я получаю неопределенную ссылку на конструктор, когда я MenuState* myState = new MenuState();, и я не знаю, почему, потому что MenuState :: MenuState() приходит перед функцией create в объявлении класса.

EDIT: Я также получаю ту же ошибку ко всем моим функциям sfml.

Вот точные сообщения сборки: http://pastebin.com/e819FhPj

У меня есть библиотеки SFML связаны и путь заголовка, установленный в моих поисковых составителям каталогов.

+1

Вам не хватает определения/реализации, кекса. –

+0

[См. Этот вопрос.] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix) – chris

+0

@ CaptainObvlious, звучит вкусно. – chris

ответ

5

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

+0

menuState.cpp не был включен в проект кодовых блоков, поэтому ошибка. Не заметил, что>. < –

+0

Я также получаю ту же ошибку ко всем моим sfml-функциям. Вот точные сообщения сборки: http://pastebin.com/e819FhPj У меня есть связанные библиотеки sfml и путь к заголовку в моих каталогах поиска компиляторов. –

1

Я не опытный разработчик на C++, но, похоже, конструктор MenuState объявлен, но не определен. Заменить MenuState(); с MenuState() {} следует исправить ошибку.

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

  • Нет связанных вопросов^_^