我有一个类可以在窗口中移动,着色,设置文本......等任何GUI:
class BasicOption
{
public :
template <class T>
void SetPosition ( float x , float y , T const*Obj);
};
并定义如下函数:
template <class T>
void BasicOption::SetPosition ( float x , float y , T const*Obj)
{
this->Obj->SetPosition(x ,y );
}
我有课程来创建像这样的窗口
class GUI_Window : public BasicOption
{
public: // <-- This colon was added in response to some answers
GUI_Window(float const&width , float const&height String const&name)
};
确定每件事情都能正常工作,但如果我在主函数中调用SetPosition,我会得到
error: LNK2019 unresolved external symbol "public"
的main.cpp
GUI_Window *W ; // MyWindow
int WINAPI wWinMain ( HINSTANCE hInst , HINSTANCE hPrev , LPWSTR lmcmdline , int nShowCmd )
{
..............
...........
..........
...........
W->SetPosition ( 520 , 250 , W );
}
我也改变了这样的代码
{
W->SetPosition <GUI_Window>( 520 , 250 , W );
}
但仍有同样的问题
/ ** /
伙计们我找到了问题
它是链接,我在main.cpp中定义了函数,它工作正常 但如果我在main.cpp文件之外定义它我会得到错误播种链接此功能的任何帮助 并在main.cpp
之外定义它答案 0 :(得分:2)
public:
而不是public
- 而且你错过了一个分号。
class GUI_Window : public BasicOption
{
public:
GUI_Window(float const&width , float const&height String const&name);
};
答案 1 :(得分:0)
之前从未见过该错误消息,但您在
中缺少冒号public
GUI_window(...