c++ - 在函数 'int main(int, char**) 中,未声明 'MIN'
问题描述
我正在使用 ubuntu 18.04、HepMC 2.05.01、root 5.34.38、lhapdf 5.9.1 处理分析代码。当我编译我的代码时,我得到了错误;
g++ -g -I/home/danisih/compiler/analysis/pythia8153/include -I/home/danisih/compiler/analysis/TAUOLA.1.1.6c-LHC/include Analysistau.cc -o Analysistau.exe -L/home/danisih/compiler/analysis/TAUOLA.1.1.6c-LHC/lib -L/home/danisih/compiler/analysis/pythia8153/lib/archive -L/home/danisih/compiler/analysis/HepMC-2.05.01/lib -L/home/danisih/compiler/analysis/lhapdf-5.9.1/lib `root-config --cflags --glibs` `fastjet-config --cxxflags --plugins` `fastjet-config --libs --plugins` -lpythia8 -lLHAPDF -lhepmcinterface -lHepMC -lTauolaCxxInterface -lTauolaFortran
Analysistau.cc: In function ‘int main(int, char**)’:
Analysistau.cc:221:16: error: ‘MIN’ was not declared in this scope
double max=MIN;
^
makefile:24: recipe for target 'Analysistau' failed
make: *** [Analysistau] Error 1
如何在 int main() 中声明 'MIN' ???
解决方案
由于 MIN 的大小写都是大写的,而且错误看起来很容易理解,我认为宏给你带来了麻烦。
只需在 main 之前添加这些行:
double min(double a, double b){ return a<b ? a : b; }
double max(double a, double b){ return a>b ? a : b; }
如果可以的话,最好避免使用宏。
推荐阅读
- css - 修改 MatBlazor 应用程序的外观
- laravel - Laravel DELETE 操作返回 403
- join - 升级旧的 mysql 查询并获取错误。错误代码:1054。“on 子句”中的未知列“VWNM.VWNM_VehWoNumID”
- javascript - Angular在点击时获得多个值
- python - 从多条绘图线在python中保存图像
- c++ - 如何为表达式解析器的派生类对象设置和取消引用通用指针?
- azure-functions - Azure 函数从事件网格接收重复消息
- discord.py - on_reaction_add 不会触发 - Discord.py
- spring - 使用 Spring Batch 进行水平缩放
- angular - Angular mat-select-autocomplete 无法编译错误