main.cpp中定义了一些宏,全局变量,还有结构体类型
#define P_NUM 100
#define GEN_MAX 500
#define T_NUM 5
#define A_NUM 10
...
double info_route[resource_fit_num][N_NUM][N_NUM];
double yita1_route[N_NUM][N_NUM];
double yita2_route[N_NUM][N_NUM];
...
typedef struct
{
int maxrank;
int rankno[P_NUM];
individual ind[P_NUM],//individual也是个结构体类型
*ind_ptr;
}population;
population oldpop;
fun.h定义如下
#ifndef FUN_H
#define FUN_H
void getLaterFitness(individual *accept);
void fun(population *pop_ptr);
#endif
在fun.cpp中需要用到main.cpp中定义的结构体,和宏定义
void fun(population *pop_ptr )
{
int (*encode_ptr)[A_NUM],
(*contri_ptr)[T_NUM][DIM],
x[T_NUM][A_NUM],
contri[A_NUM][T_NUM][DIM],
*err_ptr;
double *fitn_ptr,
f[FUN_NUM] ;
...
}
编译提示fun.cpp中没有定义。请问我该怎样在fun.cpp中声明,才能在其他cpp文件中使用main.cpp中定义的宏,全局变量,还有结构体类型。能不能将这些放入一个头文件然后在其他文件中include?