【发布时间】:2021-08-14 12:03:49
【问题描述】:
代码:
#include <string>
#include <boost/format.hpp>
int main() {
boost::format fmt;
auto str = fmt % L"";
}
错误:
1>D:.conan\a9fe50\1\include\boost\format\alt_sstream_impl.hpp(261,1): 错误 C2660:“std::allocator::allocate”:函数不占用 2 个参数 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory(838,65): 消息:参见“std::allocator::allocate”的声明 1>D:.conan\a9fe50\1\include\boost\format\alt_sstream_impl.hpp(228): 消息:编译类模板成员函数'int boost::io::basic_altstringbuf
::overflow(int)' 1>
与 1> [ 1> Ch=char, 1>
tr=std::char_traits, 1> 分配=std::allocator 1> ] 1>D:.conan\a9fe50\1\include\boost\format\format_class.hpp(173): 消息:参见对类模板实例化的参考 'boost::io::basic_altstringbuf' 正在编译 1>
与 1> [ 1> Ch=char, 1>
tr=std::char_traits, 1> 分配=std::allocator 1> ] 1>D:\Documents\source\repos\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp(6): 消息:参见对类模板实例化的参考 'boost::basic_format' 正在编译 1>Generating Code... 1>Done building project "ConsoleApplication3.vcxproj" -- 失败。
环境
- 操作系统:Win10-64bit
- VC++ 2019 16.10.0
- 配置:x86
- SDK 版本:10.0(最新安装的版本)
- 语言:std:c++latest
- 提升:1.73
我今天将 VC++ 从 16.9 升级到 16.10,然后编译失败。
它仅在我使用 std:c++latest 时发生,但与 'std:c++17' 一起工作正常。
【问题讨论】:
标签: c++ visual-c++ boost visual-studio-2019 c++20