我上了uglifier (4.1.20)
类。
它包含以下内容:Functions
我也创建了自己的static std::map<vector2d, double> functionValues;
clsss。
因此,当我尝试从vector2d
类的成员函数中使用insert
来emplace
/ operator[]
或将元素添加到此Function
中时,它失败了。
因此,错误代码为C2676。我没有发现任何问题,因此非常感谢任何建议可以导致此问题。
enter image description here
这是一些代码:
map
#pragma once
#include "vector2d.h"
#include <map>
extern unsigned int functionCallCounts;
class Function
{
private:
static std::map<vector2d, double> functionValues;
static int coef;
public:
inline static void setCoef(int _coef) { coef = _coef; };
static double calcFunction(vector2d _point);
};
和vector2d
#include "Function.h"
#include <cmath>
std::map<vector2d, double> Function::functionValues;
int Function::coef;
unsigned int functionCallCounts;
double Function::calcFunction(vector2d _point)
{
for (auto e : functionValues)
{
if (_point == e.first)
{
return e.second;
}
}
double functionValue = 2 * pow((_point.x - coef), 2) - _point.x * _point.y + 5 * pow(_point.y, 2);
++functionCallCounts;
functionValues.insert(std::make_pair(_point, functionValue));
return functionValue;
}