我在从现有的基于 Makfile 的项目导入的 Eclipse 项目中有以下 C++ 代码:
#ifndef LAZY_EVAL_FUNCTOR_
#define LAZY_EVAL_FUNCTOR_
#include <vector>
#include <stdlib.h>
namespace libtensor {
//Forward declaration
template<size_t N,typename T>
class labeled_sparse_btensor;
typedef std::vector<size_t> block_list;
//Used to erase other size parameters from contract_eval_functor
template<size_t N,typename T=double>
class lazy_eval_functor {
public:
virtual void operator()(labeled_sparse_btensor<N,T>& dest) const = 0;
//For direct tensors
virtual void operator()(labeled_sparse_btensor<N,T>& dest,std::vector< block_list >& output_block_lists) const = 0;
virtual ~lazy_eval_functor() {};
};
} // namespace libtensor
#endif /* LAZY_EVAL_FUNCTOR_ */
尽管包含已正确解析,但我仍然在 std::vector 出现的两行中遇到错误:
Symbol 'vector' could not be resolved.
我已经添加了定义 std::vector 的包含路径:
我的操作系统是 Mac OS X 10.6,我的 gcc 版本是 gcc 4.2.1
请提供解决此问题的方法。
编辑:它似乎对其他 std 成员执行此操作,例如 std::map。标头没有“未解决的包含”错误,但找不到相应的类。