这会编译,但肯定不正确,我有奇怪的输出。 如果有人能告诉我正确的方法,我会很高兴。
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
animator.SetBool ("Saldir", false);
animator.SetBool ("Bekle", true);
}
答案 0 :(得分:3)
默认初始化为零可能不是您想要的。您实际上将默认值指向px
而不是空字符串,因为NULL
在用作函数参数时被编译器视为const char c[]
。
你可以做到
const char *c
代替。
我假设您使用的是C ++编译器,我建议您将问题标记为C ++,因为C没有默认参数或多态性。
对于参数中的void test(const char *c="");
语法和行为,您可以找到一个很好的讨论here。
正如CisNOTthatGOODbutISOisTHATBAD所述,将c声明为数组以避免进一步混淆是一种不好的做法。因此,尽管c[]
也会起作用,但这并不是一个好主意。