我在一个工程需要定义一些结构,是通用的。所以我想把他们放在一个文件中。我把他们定义在头文件中,但是编译的时候出错,估计是写法有问题。
又,我有一批数据,也是全局的,在工程的各个地方都有用到,所以我想把它们定义成全局变量。同样,我把它定义在.h中的时候也报错,请问该如何处理?
小弟菜。。。。
在.cpp文件中定义,在.h文件中写extern.
这是BCB TForm1头文件的一个例子其中*Form1是个全局变量。
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
引用一下楼上的
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
extern int a; // 你的变量
//---------------------------------------------------------------------------
#endif
然后在cpp文件中
int a;
结构体 是不需要Extern的
我一般在H里面
typedef struct
{
}TMyName;
然后要用到的单元 #include 就OK