C++ 下载的libpqxx源中的内联函数错误

C++ 下载的libpqxx源中的内联函数错误,c++,visual-studio-2017,libpqxx,C++,Visual Studio 2017,Libpqxx,仍在尝试运行libpqxx,现在当我导入库和头时,我收到19条错误消息 E0325内联说明符仅允许在函数声明上使用 关于C2440“const_Elem”的错误消息无法转换为“std::string” 在打开conversions.hxx(内联说明符错误所在)之后,它会添加更多错误,因为constexpr在此无效 struct nullness<T, std::enable_if_t<std::is_arithmetic_v<T>>> : no_null<

仍在尝试运行libpqxx,现在当我导入库和头时,我收到19条错误消息

E0325内联说明符仅允许在函数声明上使用
关于C2440“const_Elem”的错误消息无法转换为“std::string”

在打开conversions.hxx(内联说明符错误所在)之后,它会添加更多错误,因为constexpr在此无效

struct nullness<T, std::enable_if_t<std::is_arithmetic_v<T>>> : no_null<T>
{};


template<> struct string_traits<short> : internal::integral_traits<short>
{};
template<> inline constexpr bool is_unquoted_safe<short>{true};
template<>
struct string_traits<unsigned short>
        : internal::integral_traits<unsigned short>
{};
template<> inline constexpr bool is_unquoted_safe<unsigned short>{true};
template<> struct string_traits<int> : internal::integral_traits<int>
{};
template<> inline constexpr bool is_unquoted_safe<int>{true};
template<> struct string_traits<unsigned> : internal::integral_traits<unsigned>
{};
template<> inline constexpr bool is_unquoted_safe<unsigned>{true};
template<> struct string_traits<long> : internal::integral_traits<long>
{};
template<> inline constexpr bool is_unquoted_safe<long>{true};
template<>
struct string_traits<unsigned long> : internal::integral_traits<unsigned long>
{};
template<> inline constexpr bool is_unquoted_safe<unsigned long>{true};
template<>
struct string_traits<long long> : internal::integral_traits<long long>
{};
template<> inline constexpr bool is_unquoted_safe<long long>{true};
template<>
struct string_traits<unsigned long long>
        : internal::integral_traits<unsigned long long>
{};
template<> inline constexpr bool is_unquoted_safe<unsigned long long>{true};
template<> struct string_traits<float> : internal::float_traits<float>
{};
template<> inline constexpr bool is_unquoted_safe<float>{true};
template<> struct string_traits<double> : internal::float_traits<double>
{};
template<> inline constexpr bool is_unquoted_safe<double>{true};
template<>
struct string_traits<long double> : internal::float_traits<long double>
{};
template<> inline constexpr bool is_unquoted_safe<long double>{true};
struct nullness:no\u null
{};
模板结构字符串特征:内部::整体特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板
结构字符串
:内部::积分特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板结构字符串特征:内部::整体特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板结构字符串特征:内部::整体特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板结构字符串特征:内部::整体特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板
结构字符串特征:内部::整型特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板
结构字符串特征:内部::整型特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板
结构字符串
:内部::积分特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板结构字符串特征:内部::浮点特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板结构字符串特征:内部::浮点特征
{};
模板内联constexpr bool是_unquoted_safe{true};
模板
结构字符串特征:内部::浮点特征
{};
模板内联constexpr bool是_unquoted_safe{true};

我使用Visual Studio 2017,我能够构建没有问题的库,但现在只是实现给了我奇怪的错误。我怀疑这可能是由于编译器中的某些设置,但我不知道该怎么办。

这是c++17功能吗?我将语言标准设置为/std:c++17,但我认为是,yea@PascalGVisualStudio不一定能正确完整地实现所有c++17标准功能。能否更新到较新的Visual Studio版本?您可以查看一下是否已列出。谢谢!看起来它应该与c++17一起工作,我最近更新了VS2017的最新版本,我将在2019年稍后尝试,也许它会在那里工作。好的,非常感谢!它现在可以在Visual Studio 2019上工作,内联constexpr错误已经消失,但我仍然有C2440“const_Elem”无法转换为“std::string”错误。。。。