带有OpenCV的VS2008中的C ++数组输出问题

时间:2011-09-14 13:45:53

标签: c++ arrays visual-studio-2008 opencv

我在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.

如果有人能帮助我,我将非常感激。

2 个答案:

答案 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;