【发布时间】:2018-07-08 22:32:39
【问题描述】:
这是我得到错误的地方,也是主要的,它给了我一个关于这个凹凸函数的隐式声明的警告。也不知道为什么。编辑:我刚刚了解到 C 不能有默认参数。有没有解决的办法?
void bump(char*s, char c = 'o')
{
s.push_back(c);
}
int main()
{
char *s = "foo";
printf("%s\n",s);
bump(&s, '\0');
printf("%s\n",s);
bump(&s, 'x');
printf("%s\n",s);
return 0;
}
【问题讨论】:
-
C 中的函数没有默认参数。另外,您对
s.push_back(c);有什么期望? -
也没有
push_backforchar* -
你的函数签名不应该有默认值,应该是
void bump(char *s, char c)。另外,您希望如何从 char 指针调用push_back()函数? -
push_back()inC??这在我看来更像C++(printf()除外)! -
你的C++书要还,对学C不好。
标签: c function-definition