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取代了。