#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
static xmlDocPtr importSettings(char file[]="CsSettings.xml"){}
那不是那么复杂,为什么总是抛出这个错误?
test.c:3: error: expected ‘;’, ‘,’ or ‘)’ before ‘=’ token
我编译错了吗?
答案 0 :(得分:6)
C没有默认参数值。您需要将文件编译为C ++。
修改强>:
所以你不想使用C ++。 (好,因为我也不想使用C ++。)这是一种合理的方式来做同样的事情:
static xmlDocPtr importSettings(char file*)
{
if (file == NULL)
{
file = "CsSettings.xml";
}
/* etc. */
}
这样,如果要使用默认值,只需将NULL传递给导入设置。
另一种选择是在标题中的某处添加#define DEFAULT_XML_FILE "CsSettings.xml"
,然后要求调用者传递DEFAULT_XML_FILE
,如果他们想使用默认值。
答案 1 :(得分:4)
C在参数上没有默认值。 C++ has them,但是。