Windows 7 64 SP1 -- MongoDB 2.2.0-rc2 -- Boost 1.42 -- MS VS 2010 Ultimate -- C++ ドライバー
私はこの関数を書きました:
void printQuery(DBClientConnection &c, std::string &dc, const Query &qu = BSONObj(), std::string sortby = "" )
このフラグメント:
auto_ptr<DBClientCursor> cursor;
cursor = c.query(dc,qu.sort(sortby))
エラーが発生します:
error C2663: 'mongo::Query::sort' : 2 overloads have no legal conversion for 'this' pointer.
sort (const string &field, int asc=1)
適用可能なオーバーロードである必要があります。const Query&
これは、メンバー関数を使用することと関係があると思いますsort
。しかし、それをQuery&
なしに変更するとconst
、パラメーターの初期化で次のように発生し= BSONObj()
ます。
cannot convert from 'mongo::BSONObj' to 'mongo::Query &'
値で渡すと、正常にコンパイルされます。
エラーのいずれかを回避する方法はありますか (値渡し以外)? ありがとう!