2017-05-10 13 views
1

私はpqxx(C++のPostgreSQLライブラリ)を使用するプログラムをコンパイルしようとしています。私の関数プロトタイプの一つは、次のようになります。pqxx :: result :: tupleが宣言されていません(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の変数を解読できないのですか?

おかげで、さまざまなドキュメンテーションに探しマイク

答えて

1

は、pqxx::result::tupleは(hereを参照)ライブラリのバージョン3.1に存在していました。

その後(hereを参照)、バージョン4.0でpqxx::tupleになり、それが最新の開発版(hereを参照してください、多分それはstd::tupleためにdropedた)でdisapearedように見えます。

バージョン4.0を使用している場合は、コードpqxx::result::tuplepqxx::tupleに置き換えてください。

最新の開発版を使用している場合は、コードpqxx::result::tuplestd::tupleに置き換えてください。

EDIT:

あなたはそれを自分で見つけ:実際には、pqxx::tupleは最新バージョンでpqxx::rowに置き換えられました。

+0

ありがとうございました。残念ながら、 'std :: tuple'の' pqxx :: result :: tuple'を変更すると、コンパイラから同じタイプのエラーが返されます。私のpqxxのバージョンは5.0.1です – mpaw

0

OK、問題は、私が今pqxx使用@wasthishelpful

のおかげで解決している::行

ありがとう!

関連する問題