pqxx :: result :: tuple尚未声明(用于c ++的PostgreSQL库)

时间:2017-05-10 10:52:05

标签: c++ postgresql libpqxx

我尝试编译程序,它使用pqxx(PostgreSQL lib for c ++)。我的一个函数原型,如下所示:

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类型的变量?

谢谢,迈克

2 个答案:

答案 0 :(得分:2)

查看不同的文档,pqxx::result::tuple存在于库的3.1版本中(请参阅here)。

然后在版本4.0中变为pqxx::tuple(请参阅here),它看起来在最新的开发版本中消失了(请参阅here,也许它已被{{3} })。

因此,如果您使用的是4.0版,请将代码pqxx::result::tuple替换为pqxx::tuple

如果您使用的是最新版本,请尝试使用pqxx::result::tuple替换代码std::tuple

修改

您自己找到了:事实上,pqxx::tuple在最新版本中被std::tuple取代。

答案 1 :(得分:0)

好的,问题解决了,感谢@wasthishelpful

我现在使用pqxx :: row

谢谢!