我知道这已被问过很多次,但我无法理解这个问题。这是我的头文件:
#ifndef TASK_H
#define TASK_H
#include "storage_adaptors.hpp"
#include <boost/numeric/ublas/vector.hpp>
class Task {
private:
boost::numeric::ublas::vector<double> taskPosistionConstraint;
boost::numeric::ublas::vector<double> initialPosition;
boost::numeric::ublas::vector<double> finalPosition;
double pathLength;
int taskType;
public:
Task();
Task(double* _initialPoint, double* _finalPoint, int type);
double getLength();
int getTaskType();
~Task();
};
#endif /* TASK_H */
这是cpp文件:
#include "Task.h"
const int TASK_SIZE = 3;
Task::Task() {
}
Task::~Task() {
}
Task::Task(double* _initialPoint, double* _finalPoint, int type) {
finalPosition = make_vector_from_pointer(TASK_SIZE,_finalPoint);
initialPosition = make_vector_from_pointer(TASK_SIZE, _initialPoint);
}
错误发生在其中make_vector_from_pointer
定义的函数上,该函数storage_adaptors.hpp
包含在Task.h
其中boost hpp file
。如果将标头添加到类头文件中,为什么我会出现超出范围的错误:
Task.cpp:21:错误:“make_vector_from_pointer”未在此范围内声明