2013-04-08 81 views
0

我对这个提升的东西很陌生,对boost :: filesystem :: path有个疑问。 我有一个应用程序使用启动此应用程序所需的配置文件的相对路径。 我目前使用:boost :: filesystem :: path operator/c2296 error

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

我看着/运营商的boost ::文件系统::路径,并有兴趣使用。

我尝试这样做:

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

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

它是一个干净的方式来使用它?

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

预先感谢

回答

1

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

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

,或者如果被允许C++ 11,它简化到:

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

甚至试过这个选项。但有同样的错误味精。 – 2013-04-08 18:46:55

+0

@DeeptiJain你确定吗?即使存在错误,它也不能是* same *错误消息,因为左侧不再是const char [2]'。 – 2013-04-08 18:56:35

+0

啊..我的坏。有用。我忘了在构建项目之前保存文件。谢谢 – 2013-04-08 19:41:59