boost :: filesystem :: path operator / c2296错误

时间:2013-04-08 18:15:39

标签: c++ boost filesystems

我是这个增强功能的新手,对boost :: filesystem :: path有一点疑问。 我有一个应用程序,它使用启动此应用程序所需的配置文件的相对路径。 我目前使用:

boost::filesystem::path PATH(".\\..\\dir1\\file1.xml");

我查看了boost :: filesystem :: path的/运算符,并对使用它感兴趣。

我试过了:

boost::filesystem::path const PATH("."/"dir1"/"file1.xml");

但收到了错误 :错误C2296:'/':非法,左操作数的类型为'const char [2]' :错误C2297:'/':非法,右操作数的类型为'const char [5]'

它们是一种干净利用的方式吗?

如何使用/运算符来完成此操作?

提前致谢

1 个答案:

答案 0 :(得分:1)

/的至少一个操作数必须已经是路径,请尝试:

boost::filesystem::path const PATH(boost::filesystem::path(".")/"dir1"/"file1.xml");

或者如果允许使用C ++ 11,请将其简化为:

const auto PATH = boost::filesystem::path(".")/"dir1"/"file1.xml";