我尝试编译程序,它使用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
类型的变量?
谢谢,迈克
答案 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
谢谢!