如何拆分fltk代码和定义 这是我第一次C++项目。我有1600行代码,大部分都在使用FLTK小部件的include文件中,我希望按照我一直看到的推荐方式拆分类定义和代码。我已经尝试了很多次去弄清楚什么会发生在哪里,我总是会遇到编译器错误

如何拆分fltk代码和定义 这是我第一次C++项目。我有1600行代码,大部分都在使用FLTK小部件的include文件中,我希望按照我一直看到的推荐方式拆分类定义和代码。我已经尝试了很多次去弄清楚什么会发生在哪里,我总是会遇到编译器错误,c++,widget,prototype,fltk,C++,Widget,Prototype,Fltk,我一直在尝试下面的一些示例代码。我所需要做的就是编译并显示一个窗口 main.cpp #include <FL/Fl.H> #include <FL/Fl_Window.H> #include "mybox.h" int main(int argc, char *argv[]) { Fl_Window *w = new Fl_Window(100, 100, 300, 300); mybox *b = new mybox(110,

我一直在尝试下面的一些示例代码。我所需要做的就是编译并显示一个窗口

main.cpp

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include "mybox.h"

int main(int argc, char *argv[]) {

    Fl_Window *w = new Fl_Window(100, 100, 300, 300);
    mybox *b = new mybox(110, 110, 100, 100);
    end();
    b->show();
    return Fl::run();
}
#包括
#包括
#包括“mybox.h”
int main(int argc,char*argv[]){
Fl_窗口*w=新的Fl_窗口(100100300300);
mybox*b=新的mybox(110110100100);
end();
b->show();
返回Fl::run();
}
我的盒子

#ifndef MYBOX_H
#define MYBOX_H
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include "mybox.h"

class mybox : public Fl_Box {
public:
    mybox(int x, int y, int w, int h, const char *lbl) : Fl_Box(x, y, w, h, lbl) {}
};

#endif // MYBOX_H
\ifndef MYBOX\u H
#定义MYBOX\u H
#包括
#包括
#包括“mybox.h”
类别mybox:公共Fl\U Box{
公众:
mybox(intx,inty,intw,inth,const char*lbl):Fl_-Box(x,y,w,h,lbl){}
};
#endif//MYBOX\u H
mybox.cpp

#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include "mybox.h"

mybox::mybox(int x, int y, int w, int h, const char *lbl) : Fl_Box(x, y, w, h, lbl){}
#包括
#包括
#包括“mybox.h”
mybox::mybox(intx,inty,intw,inth,const char*lbl):Fl_Box(x,y,w,h,lbl){}
我看到过许多关于原型重新定义的错误;原型缺失;在酒吧前等,有人能告诉我吗?
-dave

您将构造函数的定义放在两个地方,因此需要从这里删除它:

class mybox : public Fl_Box {
public:
    mybox(int x, int y, int w, int h, const char *lbl); // removed
};

斯利??你想知道为什么我的硬盘被填满了:)\ifndef mybox\u h#define mybox\u h#include#include类mybox:public Fl\u Box{public:mybox(int x,int y,int w,int h,const char*lbl)}#endif//MYBOX\u Herror:调用“MYBOX::MYBOX(int,int,int,int)”时没有匹配的函数。好的,最后一个错误是由于没有使用lbl arg调用——它现在编译