我继承了大约1000个用C ++编写的文件,我不得不勉强转换为C.在其中一个头文件中,一个函数被声明为
errnum DSPAPI aaCxSVD(complexnum *input_matrix,[...],intnum jobz=0);
在XCode中产生以下编译错误:
error: expected ';', ',' or ')' before '=' token
如果我只是做intnum 0
,我会得到:
error: expected ';', ',' or ')' before numeric constant
如果我删除intnum,我会得到:
error: expected declaration specifiers or '...' before numeric constant
在C文件本身中,如果jobz = 0,则返回不同的结果。目前,它是唯一提到该功能的标题。
我的问题是:有没有合法的方法呢?它甚至是必要的吗?
答案 0 :(得分:3)
jobz
已获得默认值。这是一个仅限C ++的功能。
我想说转换它的最简单方法就是删除=0
。然后,查找调用aaCxSVD()
的所有位置,而不提供明确的最终参数,并添加0
。