我知道这已被问过很多次,但我无法理解这个问题。这是我的头文件:
#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
{{1}}中。
如果标题被添加到类头文件中,为什么我超出范围错误:
Task.cpp:21:错误:未声明`make_vector_from_pointer' 这个范围
答案 0 :(得分:4)
如果它是一个提升功能,它不应该是boost::make_vector_from_pointer'
吗?或者,如果不是直接在boost名称空间中,它所在的任何命名空间。