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);