错误:在'<'之前预期的构造函数,析构函数,类型转换代币

时间:2013-12-17 19:22:21

标签: c++ function boost vector matrix

代码是

#include <ctime>
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstdlib>
#include <iterator>
#include <queue>
#include <algorithm>
#include <string>
#include <cassert>
#include <cmath>
#include <iomanip>
#include <new>
#include <algorithm>
#include <functional>
#include <vector>

using namespace std;

using std::vector;

    #include <boost/numeric/ublas/matrix.hpp>
    #include <boost/numeric/ublas/io.hpp>
    #include <boost/numeric/ublas/operation.hpp>
#include <boost/numeric/ublas/vector.hpp>

    using namespace boost::numeric::ublas;

    boost::numeric::ublas::matrix<double> A_MATRIX(A_MATRIX_ROWS,A_MATRIX_COLUMNS);
    boost::numeric::ublas::matrix<double> Y_MATRIX(A_MATRIX_ROWS,1);


    vector <double> GPSR_BB(boost::numeric::ublas::matrix<double> &f_Y_MATRIX,boost::numeric::ublas::matrix<double> &f_A_MATRIX,int f_tau,int f_tolA){

vector<double> objective(2);

//sth inside function

return objective;

    }

    int main(){
        vector<double> objectives(maxiter+2);
        objectives=GPSR_BB(Y_MATRIX,A_MATRIX,tau,tolA);
        return 0;
    }

在行

vector <double> GPSR_BB(boost::numeric::ublas::matrix<double> &f_Y_MATRIX,boost::numeric::ublas::matrix<double> &f_A_MATRIX,int f_tau,int f_tolA){

我收到错误

error: expected constructor, destructor, or type conversion before ‘<’ token function

我想,问题是因为矩阵数据类型,来自boost库,我必须传递给函数,我不认为我可以为我的具体问题做另一种方式。

非常感谢任何帮助。谢谢

2 个答案:

答案 0 :(得分:1)

boost :: numeric :: ublas有vector和namespace std。尝试使用命名空间std删除并使用适当的命名空间来引用正确的类型。

答案 1 :(得分:0)

尝试vector<double>之间没有空格

vector<double> GPSR_BB