有没有办法避免错误 C2039:"value":不是 "boost::proto" 的成员?
Is there a way to avoid error C2039: "value": Is not a member of "boost::proto"?
我正在使用 boost::network::uri::encoded()
来编码我的请求 url.But 当我构建项目时,我看到错误 "error C2039: "value": Is not a member of "boost::proto"”。其中有四个,来自 boost\proto\generate.hpp(239,20);boost\proto\generate.hpp(239,53);boost\proto\generate.hpp(248,20) );boost\proto\generate.hpp(248,53)。
这是我的测试代码:
#include <iostream>
#include <string>
#include "boost/network/uri.hpp"
using std::string;
string EncodeURL(string str)
{
return boost::network::uri::encoded(str);
}
string DecodeURL(string str)
{
return boost::network::uri::decoded(str);
}
int main()
{
EncodeURL("https://test.com/a+a+a.html");
return 0;
}
我使用 vcpkg
安装了 boost
和 cpp-netlib
。我的 IDE 是 Visual Studio Professional 2019
,操作系统是 Windows 10 Professional Workstation x64 (Ver.2004)
。
我想知道如何避免这些错误,或其他编码 URL 与 UNICODE 兼容的方法。
这是boost库的一个bug。可以通过将 boost 库更新到最新版本或编辑 boost\proto\generate.hpp
.
来修复
编辑方式boost\proto\generate.hpp
:
将第 95 行更改为
#if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
将第 233 行更改为
#if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
这是来自 boost 库的 PR。
我正在使用 boost::network::uri::encoded()
来编码我的请求 url.But 当我构建项目时,我看到错误 "error C2039: "value": Is not a member of "boost::proto"”。其中有四个,来自 boost\proto\generate.hpp(239,20);boost\proto\generate.hpp(239,53);boost\proto\generate.hpp(248,20) );boost\proto\generate.hpp(248,53)。
这是我的测试代码:
#include <iostream>
#include <string>
#include "boost/network/uri.hpp"
using std::string;
string EncodeURL(string str)
{
return boost::network::uri::encoded(str);
}
string DecodeURL(string str)
{
return boost::network::uri::decoded(str);
}
int main()
{
EncodeURL("https://test.com/a+a+a.html");
return 0;
}
我使用 vcpkg
安装了 boost
和 cpp-netlib
。我的 IDE 是 Visual Studio Professional 2019
,操作系统是 Windows 10 Professional Workstation x64 (Ver.2004)
。
我想知道如何避免这些错误,或其他编码 URL 与 UNICODE 兼容的方法。
这是boost库的一个bug。可以通过将 boost 库更新到最新版本或编辑 boost\proto\generate.hpp
.
编辑方式boost\proto\generate.hpp
:
将第 95 行更改为
#if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
将第 233 行更改为
#if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
这是来自 boost 库的 PR。