我有一些Matlab函数,我必须在C中翻译,但我不理解要创建的语法或行为。
我有这个电话和以下实施:
{
...
[vSolution,sReturnVal] = Func1(10, @(X) Func2(X, hour_of_the_day));
...
}
function [SolutionVector,ReturnValue] = Func1(IterationsTermination, FuncToUse)
function [ReturnValue] = Func2(TestedSolution, shour_of_day)
我认为'@(x)'用来定义一个拥有X参数的匿名函数(一个简单的指向函数的指针),但这里使用带有参数的命名函数,并且X值在参数列表。
我如何理解并将其翻译成C?
答案 0 :(得分:1)
是定义匿名函数。但是这个匿名函数恰好叫Func2
。匿名函数等同于:
function Y = myFunc(X)
Y = Func2(X, hour_of_the_day);