首页 > 解决方案 > 如何将 C++ lambda 函数传递给另一个函数?

问题描述

auto xxx= [&radius](Vector3 pos)->float {
        SDF sdf;
        return sdf.Sphere(Vector3(pos.X, pos.Y, pos.Z), radius);
    };

打电话

DensityPoint*** densityPoints2 = GetDensityData(dimensions, Vector3(), Vector3(), xxx);

DensityPoint*** Density::GetDensityData(Vector3 dimensions, Vector3 fractions, Vector3 offsets, float f(Vector3 pos))
{

它说...no suitable conversion function...

当我从 lambda 中删除引用(闭包)时,它不会给出错误。

标签: c++closures

解决方案


推荐阅读