簡體   English   中英

在 function 'int main(int, char**), 'MIN' 沒有聲明

[英]In function ‘int main(int, char**), ‘MIN’ was not declared

我正在使用 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; }

如果可以的話,最好避免使用宏。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM