<分区>
Possible Duplicate:
Default values for array arguments
如何将数组作为函数的默认参数?我试过这个:
void drawCircle(float radius, GLfloat colour[3]={2.0, 3.0, 4.0}, bool do=true) {
...
}
GLfloat colour[3]={2.0, 3.0, 4.0}
部分给我一个错误。这在 C++ 中可能吗?
<分区>
Possible Duplicate:
Default values for array arguments
如何将数组作为函数的默认参数?我试过这个:
void drawCircle(float radius, GLfloat colour[3]={2.0, 3.0, 4.0}, bool do=true) {
...
}
GLfloat colour[3]={2.0, 3.0, 4.0}
部分给我一个错误。这在 C++ 中可能吗?
最佳答案
在 C++ 中,您不能按值将完整的内存块作为参数传递给函数,但您可以传递其地址。
所以不,至少在 C++03 中你不能这样做。
你可以这样做:
GLfloat defaultColor[3] = {2.0, 3.0, 4.0};
void drawCircle(float radius, GLfloat colour[3]= defaultColor, bool do=true)
{
}
关于c++ - 将函数的默认参数设置为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7239834/