Я пытаюсь преобразовать некоторый код VC ++ 6 в консольное приложение, используя только стандартные библиотеки, но получаю следующую ошибку от MinGW (независимо от версии, поставляемой с IDE Code :: Blocks 10.05):
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.Я хочу, чтобы окончательный код был кроссплатформенным.