我在OpenCV和VS2008中制作纹理分类器,我想在双数组中插入3个双变量,这样我就可以计算出数组的最近邻居。
我试过了:
double a[5]={x,y,z};
,输出为0012FF04
当我刚刚声明一个包含几个数字的数组时,会发生相同的输出
双:
b[2]={1.0,2.3};
最后,当我尝试声明数组long double时,它进入调试并给了我一个异常,控制台输出是:0012FED4OpenCV Error:Bad flag <parameter or structure field> <Unrecognized or unsupported array type> in unknown function, file .\cxarray.cpp, line 2470.
如果有人能帮助我,我将非常感激。
答案 0 :(得分:0)
为什么不使用std::vector<double>
而不是原始数组,然后可以调用push_back
来插入值。
如果需要将其传递给采用原始数组或指针的函数,则可以执行&v[0]
或数组v[0]
。
只是一个建议。
答案 1 :(得分:0)
C ++没有定义显示数组内容的operator<<(double*)
; C ++数组不是自我描述的,我不认为以通常有用的方式定义这样的运算符是可能的。你必须编写一个显式循环:
for (int i=0; i<3; ++i)
std::cout << brick_v[i] << " ";
std::cout << std::endl;