stand by me * 2022-03-08 10:28 采纳率: 0%
浏览 18

VS2010 防止头文件重复编译代码无效

使用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

报错内容如下:

img

试过#pragma once,没有效果。

希望不再报错。

  • 写回答

2条回答 默认 最新

  • stone_wangzx 2022-03-08 11:32
    关注

    mymax函数增加一个static修饰符

    
    // max function
    static double mymax( double a, double b ){ return (a>b)?a:b; }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 3月8日

悬赏问题

  • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?
  • ¥50 寻找fpga的benchmark
  • ¥50 如何在arduino上,实现用4×4矩阵键盘按键控制2004显示屏输出图中显示功能的代码?
  • ¥15 P1口接8个发光二极管,利用定时计数器1编写程序
  • ¥20 keil5编译找不到.h文件该如何解决
  • ¥15 安卓EVS如何开启服务正常实现功能
  • ¥15 canal读取mysql时报错
  • ¥15 关于 S7-PLCSIM Advanced 5.0本地TCP连接无法读写数据
  • ¥15 关于温度改变石墨烯介电性能(关键词-介电常数)
  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB