为什么我的函数参数c ++中需要一个vector类型

I_l*_*_93 -2 c++ vector

嘿伙计们,当我编译我的代码时,我得到了一些我不理解的错误.其中一个错误告诉我vector不是一个类型,但是我把它定义为一个float类型,显示为const vector<float>& vector另一个错误告诉我我不能转换为int但是我没有在程序中看到我声明了输入变量或向量的int.这是我的错误和代码:

prog.cpp:5:58: error: 'vector' is not a type
 static void AutoCorrelation(const vector<float>& vector, vector<float>& autoCorrelationOut, float& autoCorrelationFactorOut);
                                                          ^
prog.cpp:5:64: error: expected ',' or '...' before '<' token
 static void AutoCorrelation(const vector<float>& vector, vector<float>& autoCorrelationOut, float& autoCorrelationFactorOut);
                                                                ^
prog.cpp: In function 'int main()':
prog.cpp:16:38: error: cannot convert 'std::vector<float>' to 'int' for argument '2' to 'void AutoCorrelation(const std::vector<float>&, int)'
  AutoCorrelation(vec1,vec2,factor_out);
                                      ^
prog.cpp: At global scope:
prog.cpp:20:51: error: 'vector' is not a type
 void AutoCorrelation(const vector<float>& vector, vector<float>& autoCorrelationOut, float& autoCorrelationFactorOut)
                                                   ^
prog.cpp:20:57: error: expected ',' or '...' before '<' token
 void AutoCorrelation(const vector<float>& vector, vector<float>& autoCorrelationOut, float& autoCorrelationFactorOut)

#include <iostream>
#include <vector>
using namespace std;

static void AutoCorrelation(const vector<float>& vector, vector<float>& autoCorrelationOut, float& autoCorrelationFactorOut);
    int main() {

    vector<float> vec1,vec2;
    float factor_out=10.02f;
    float a,b,c=1.00f;

    vec1.push_back(a);
    vec1.push_back(b);
    vec2.push_back(c);
    AutoCorrelation(vec1,vec2,factor_out);
    return 0;
}

void AutoCorrelation(const vector<float>& vector, vector<float>& autoCorrelationOut, float& autoCorrelationFactorOut)
{

}
Run Code Online (Sandbox Code Playgroud)

Pet*_*ker 7

仔细查看参数列表AutoCorrelation.之后const vector<float>& vector,名称vector指的是一个对象.