C++ 对类构造函数的未定义引用
这是我的密码: menuState.hppC++ 对类构造函数的未定义引用,c++,undefined-reference,C++,Undefined Reference,这是我的密码: 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 s
#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
\ifndef菜单\u状态\u水电站
#定义菜单\u状态\u水电站
#包括“state.hpp”
#包括
类MenuState:公共状态
{
公众:
MenuState();
静态void create(StateListener*父,const std::string name)
{
MenuState*myState=new MenuState();
myState->parent=parent;
父->管理状态(名称,myState);
}
无效输入();
无效退出();
作废简历();
私人:
};
#endif//菜单\状态\水电站
当我执行MenuState*myState=new MenuState()时,我得到了对构造函数的未定义引用我不知道为什么,因为MenuState::MenuState()在类声明中位于create函数之前
编辑:我的所有sfml函数也出现了相同的错误
以下是确切的构建消息:
我确实链接了sfml库,并在我的编译器搜索目录中设置了标题路径。最好显示错误的确切文本,但我的猜测是,您得到的是链接器错误,而不是编译器错误。您是否在任何地方实际实现了构造函数?我打赌你没有。最好显示错误的确切文本,但我有根据的猜测是,你得到的是链接器错误,而不是编译器错误。您是否在任何地方实际实现了构造函数?我敢打赌,你没有。< p>我不是一个经验C++开发人员,但是看起来像是声明了MuuStand构造函数但没有定义。
替换MenuState();使用MeUnStEnter(){}应该修复错误。< P>我不是一个经验C++开发人员,但它看起来像是声明了MuuStand构造函数但没有定义。
替换MenuState();使用MenuState(){}应该可以修复错误。您缺少定义/实现,cupcake。@CaptainObvlious,听起来很好吃。@chris它的保质期更长。MenuState.cpp没有包含在codeblocks项目中,因此出现了错误。没有注意到>。您缺少定义/实现,cupcake。@CaptainObvlious,听起来很好吃。@chris这是因为较长的保质期。menuState.cpp未包含在codeblocks项目中,因此出现了错误。没有注意到>menuState.cpp未包含在codeblocks项目中,因此出现了错误。没有注意到>。我的所有sfml函数也会出现相同的错误。下面是确切的构建消息:我确实链接了sfml库,并且在编译器搜索目录中设置了头路径。menuState.cpp未包含在codeblocks项目中,因此出现了错误。没有注意到>。我的所有sfml函数也会出现相同的错误。下面是确切的构建消息:我确实链接了sfml库,并在编译器搜索目录中设置了头路径。