gpt4 book ai didi

c++ - 仿函数编译时错误

转载 作者:太空宇宙 更新时间:2023-11-04 15:17:31 25 4
gpt4 key购买 nike

我的代码-

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;

#include "boost\numeric\ublas\matrix.hpp"

typedef boost::numeric::ublas::matrix<float> matrix;


class FillMat{
public:
FillMat(float valIn) : val(valIn){}
float operator()(float in) {
val = in + 1;
return val;
}
private:
float val;
};

typedef boost::numeric::ublas::matrix<float> matrix;
int main(){
matrix m1(10, 20);
float init = 22.2;
FillMat myFiller(init);

generate(m1.begin2(), m1.begin2() + m1.size1()*m1.size2(), myFiller);


return 0;
}

当我尝试编译代码时,出现以下编译时错误。

Error   3   error C2064: term does not evaluate to a function taking 0 arguments    

谁能告诉我为什么?

附言我添加了标题。我正在为二维数组使用 Boost 矩阵。

最佳答案

传递给 std::generate 的仿函数的签名必须采用零参数。

这在 documentation 中有说明.

很遗憾,您没有告诉我们您要做什么,所以我无法为您提供修复建议。

关于c++ - 仿函数编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com