如何定义 Vector2f 的默认参数?[SFML]
How to define a default parameter of Vector2f ? [SFML]
我在类Class
中有一些函数函数:
void func(int arg1, int arg2, Vector2f vec = Vector2f(0,0)){};
我收到一个构建错误:
error C2572: 'Classs::func': redefinition of default argument: parameter 1
我尝试了许多不同的语法,但没有一个奏效。如何定义此类型的默认参数?
仅在原型中指定默认参数。不要在函数定义中重复此操作。
// prototype
void func(int arg1, int arg2, Vector2f vec = Vector2f(0,0));
// definition
void func(int arg1, int arg2, Vector2f vec)
{
...
}
此建议适用于任何默认参数。这与类型无关。
相关文章:
- 使函数参数默认为周围范围
- 如何将值传递给其参数(默认参数)
- 当“std::make_index_sequence”和“std::index_sequence”用于模板参数默认类型时
- C ,构造器中允许的参考参数默认值
- 哪些规则控制参数默认赋值?
- 错误:上一个规范后给出的参数默认参数
- 是否可以设计一个包含模板参数默认值的类
- 构造函数中参数C++默认值
- 如何设置依赖于其他参数的参数默认值
- C++模板参数默认函数实现
- QInput对话框参数默认值
- g++4.8.2上列表方法参数默认初始化时出错
- 在函数定义中指定参数默认值会导致错误 C2143:语法错误:'='之前缺少')'
- 函数模板:将第一个模板参数默认为第二个
- 模板模板参数默认可以引用其他模板类型的参数
- 参数默认为先例参数的值
- 如何修改一个类,使它只有一个成员函数,所有参数默认
- 内置类型的模板参数默认值
- 是否可以使用构造函数或对象作为其他类方法的参数默认值?
- 模板参数默认为更高版本