pqxx::result::tuple 尚未声明(C++ 的 PostgreSQL 库)
pqxx::result::tuple has not been declared (PostgreSQL library for c++)
我尝试编译程序,它使用 pqxx(C++ 的 PostgreSQL 库)。我的一个函数原型看起来像这样:
bool compare(pqxx::result::tuple row1, pqxx::result::tuple row2);
编译器对这一行说:
classes.h:64:38: error: 'pqxx::result::tuple' has not been declared
bool compare(pqxx::result::tuple row1, pqxx::result::tuple row2);
我不知道为什么会出现此错误。我已经包括了 pqxx
这样的:
#include <pqxx/pqxx>
我在其他地方使用 pqxx::result
,并且有效。为什么我不能删除 pqxx::result::tuple
类型的变量?
谢谢,迈克
查看不同的文档,pqxx::result::tuple
存在于库的 3.1 版中(参见 here)。
然后在 4.0 版本中变为 pqxx::tuple
(参见 here), and it looks like it disapeared in latest development version (see here, maybe it was droped for std::tuple
)。
因此,如果您使用的是 4.0 版,请将代码中的 pqxx::result::tuple
替换为 pqxx::tuple
。
如果您使用的是最新的开发版本,请尝试将代码中的 pqxx::result::tuple
替换为 std::tuple
。
编辑:
你自己发现的:实际上,pqxx::tuple
在最新版本中被pqxx::row
取代了。
我尝试编译程序,它使用 pqxx(C++ 的 PostgreSQL 库)。我的一个函数原型看起来像这样:
bool compare(pqxx::result::tuple row1, pqxx::result::tuple row2);
编译器对这一行说:
classes.h:64:38: error: 'pqxx::result::tuple' has not been declared
bool compare(pqxx::result::tuple row1, pqxx::result::tuple row2);
我不知道为什么会出现此错误。我已经包括了 pqxx
这样的:
#include <pqxx/pqxx>
我在其他地方使用 pqxx::result
,并且有效。为什么我不能删除 pqxx::result::tuple
类型的变量?
谢谢,迈克
查看不同的文档,pqxx::result::tuple
存在于库的 3.1 版中(参见 here)。
然后在 4.0 版本中变为 pqxx::tuple
(参见 here), and it looks like it disapeared in latest development version (see here, maybe it was droped for std::tuple
)。
因此,如果您使用的是 4.0 版,请将代码中的 pqxx::result::tuple
替换为 pqxx::tuple
。
如果您使用的是最新的开发版本,请尝试将代码中的 pqxx::result::tuple
替换为 std::tuple
。
编辑:
你自己发现的:实际上,pqxx::tuple
在最新版本中被pqxx::row
取代了。