使用vs 2010 创建了项目,两个源文件之间有共同的头文件,为了防止头文件重复编译,根据网上的资料添加了相应的代码如下,但是在运行后依然出现重复定义的错误提示,求解决!
c++
#ifndef _DEFI_H
#define _DEFI_H
#define FILE_SIZE 500
// only 26*n is support due to invert matrix function
// only 26 and 676 add to git
#define DICT_SIZE 650
#define FILE_PATH ".\doc\FILE0001.txt"
#define MATRIX_PATH ".\Matrix\Matrix650trans.txt"
#define MATRIXinv_PATH ".\Matrix\Matrix650inv.txt"
#define SK_PATH "SK.txt"
// struct of node
typedef struct tree_node {
int ID; // node ID
double D[2][DICT_SIZE]; // index data
struct tree_node *Pl; // pointer to left node
struct tree_node *Pr; // pointer to right node
int FID; // pointer to file, use file's ID here
} Node;
// max function
double mymax( double a, double b ){ return (a>b)?a:b; }
#endif
报错内容如下:
试过#pragma once,没有效果。
希望不再报错。