Boost FileSystem v3追加失败,带有char数组

时间:2015-01-21 20:56:23

标签: c++ boost filesystems boost-filesystem

我在下面的错误中使用了增强1.53,但没有使用1.56。

../../source/EntryPoint/Application.cpp:100:58: error: no matching function for call to ‘boost::filesystem::path::append(const char [22])’
 petscConfigurationPath.append("FluidPetsc/Basic.conf");

备注: 问题是为什么我可以在版本1.56中将boost数组追加到boost :: filesystem :: path而我不能在版本1.53中添加?

1 个答案:

答案 0 :(得分:1)

在旧版本中,您可以获得std::stringappend,其中包含path,但现在您拥有append,因此您无法{{1}} 1}}直接在它上面。


您没有显示代码,但某些API已更改:http://www.boost.org/doc/libs/1_46_0/libs/filesystem/v3/doc/v3.html

特别是

  
      
  • 某些函数现在返回路径对象而不是字符串或wstring   对象:

         
        
    • ROOT_NAME()
    •   
    • ROOT_DIRECTORY()
    •   
    • 文件名()
    •   
    • 干()
    •   
    • 扩展()
    •   
  •   

请注意,已弃用的" v2" API已经存在了很长时间,但在以后的版本中被削减了:

  

为了简化过渡,Boost发布1.44到1.47将同时提供V2和V3。版本2是Boost版本1.44和1.45的默认版本。从版本1.46开始,版本3将成为默认值。