gpt4 book ai didi

c++ - Visual Studio 2015 中的错误 C2784、C2672 和 C2664

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:40 24 4
gpt4 key购买 nike

我在 visual studio 2015 中有以下几行。它曾经在 visual studio 2013 中编译没有错误。

const std::basic_regex<wchar_t> e(_T("([eE][-+])(0)(\\d{2})"));
io_string = std::regex_replace(io_string, e, _T("$1$3"));

错误是:

错误 C2664:“std::basic_regex>::basic_regex(std::basic_regex> &&) noexcept”:无法将参数 1 从“const char [21]”转换为“const wchar_t *”

error C2672: 'std::regex_replace': 找不到匹配的重载函数4>

error C2784: 'std::basic_string<_Elem,std::char_traits<_Elem>,std::allocator<_Other>> std::regex_replace(const _Elem *,const std::basic_regex<_Elem,_RxTraits> & ,const _Elem *,std::regex_constants::match_flag_type)': 无法从 'std::string_t' 中推断出 'const _Elem *' 的模板参数

我知道这个问题来自更改 tchar.h。解决它们的任何建议。我也使用 CMake 进行项目配置,项目在 Windows 10 上运行。

最佳答案

假设您不想更改您的代码,您需要确保您的代码是为 Unicode 构建的,因此将 -D_UNICODE 传递给编译器。 This post suggests :

ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)

this one说明了如何通过 GUI 启用 Unicode。

关于c++ - Visual Studio 2015 中的错误 C2784、C2672 和 C2664,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40502979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com