Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+中求局部极值+;_C++_Arrays_Class_Persistence - Fatal编程技术网

C++ 在c+中求局部极值+;

C++ 在c+中求局部极值+;,c++,arrays,class,persistence,C++,Arrays,Class,Persistence,我试图在直方图中找到局部极值。我的想法是将容器中的内容放入数组中并使用 第一步是创建一个简单的float数组并使用该类,使用以下简单代码 #include "persistence1d.hpp" using namespace std; using namespace p1d; int main() { float y[3] = {2,1,2}; //cout << y[0] << y[1] << y[2] << endl;

我试图在直方图中找到局部极值。我的想法是将容器中的内容放入数组中并使用

第一步是创建一个简单的
float
数组并使用该类,使用以下简单代码

#include "persistence1d.hpp"

using namespace std;
using namespace p1d;

int main()
{
    float y[3] = {2,1,2}; 
    //cout << y[0] << y[1] << y[2] << endl; 

    //Run persistence on data - this is the main call.
    Persistence1D p;
    p.RunPersistence(y);

    return 0;

}

我不明白为什么会发生这种错误!欢迎提出任何想法或建议

尝试传递向量而不是数组:

std::vector<float> y;
y.push_back(2); y.push_back(1); y.push_back(2);
Persistence1D p;
p.RunPersistence(y);
std::向量y;
y、 推回(2);y、 推回(1);y、 推回(2);
持久性1d-p;
p、 持续性(y);

这个错误对我来说似乎很清楚。您正试图将数组传递给不希望数组作为参数的函数。你的困惑是什么?我以为
向量
数组
是一回事……恐怕你想错了。数组是包含多个对象的内存块
std::vector
是一个类(碰巧包含一个动态分配的数组)。
std::vector<float> y;
y.push_back(2); y.push_back(1); y.push_back(2);
Persistence1D p;
p.RunPersistence(y);