【发布时间】:2012-02-29 00:16:47
【问题描述】:
我正在尝试从nmdepend 获取以下代码进行编译
const std::string Bfd::packageName(const fs::path& path, int packageLevel)
{
fs::path::iterator p = path.end();
--p;
for(int i = 0; i < packageLevel; ++i)
--p;
return *p;
}
但是它正在生成以下编译器错误
/Users/nick/Software/nmdepend/src/Bfd.cpp: In static member function ‘static const std::string Bfd::packageName(const boost::filesystem3::path&, int)’:
/Users/nick/Software/nmdepend/src/Bfd.cpp:27: error: conversion from ‘const boost::filesystem3::path’ to non-scalar type ‘const std::string’ requested
应该如何修改这段代码,以便返回一个字符串,同时保持使用迭代器尝试的操作?
【问题讨论】:
-
不应该是"return (*p).string();" ?
标签: c++ boost stl compiler-errors boost-filesystem