標準ライブラリのみを使用して一部の VC++ 6 コードをコンソール アプリに変換しようとしていますが、MinGW から次のエラーが発生します (Code::Blocks 10.05 IDE で提供されているバージョンに関係なく):
error: 'min' is not a member of 'std'
これは、次のコード行に関連しています。
L.Precision=std::min(1.e-4,0.001*res);
L.Precision
は でありdouble
、res
ですdouble
。以前は、この行は次のとおりでした。
L.Precision=min(1.e-4,0.001*res);
しかし、これはエラーを与えます:
error: 'min' was not declared in this scope
問題のファイルのヘッダーは次のとおりです。
#include<stdio.h>
#include<math.h>
//#include<algorithm.h>
#include <malloc.h>
#include "complex.h"
#include "mesh.h"
#include "spars.h"
#include "FemmeDocCore.h"
これはファイルで定義されたいくつかのマクロに関連している可能性があることは理解していますwindef.h
が、これについて間違っている場合は修正してください。
これについて正確に何ができますか?私はC ++に比較的慣れていないwindef.h
ため、たとえばどこで呼び出されるかさえわかりません.これは、すべてのWindowsプログラムに必要であり、MinGWによってある時点で追加されると思います. 最終的なコードをクロスプラットフォームにしたい。