我有一个Color类,它包含三个float组件(r,g,b)。
我必须编写以下函数:
Color getColor(unsigned char values [],int i)
通常我应该像这样编程:
Color getColor(unsigned char values[], int i){
return Color((float) values[i]/255.0, (float) values[i+1]/255.0, (float) values[i+2]/255.0);
}
但是我做错了
return values[i];
当我编译时,我没有得到任何编译错误,我也没有得到运行时错误。
为什么会这样?
答案 0 :(得分:5)
这可能是Color类的非显式构造函数接受unsigned char作为其参数的结果。
这意味着您在Color类中使用单个参数或多个参数作为默认参数。
答案 1 :(得分:0)
检查Color
类中的构造函数,并用所需的构造函数覆盖。