3
NTLライブラリから定義された任意の長さの整数ベクトルにstd :: setを使用しようとしていますが、何らかの理由でそれが動作しません。これは、ライブラリで定義されたZZ整数で完全に正常に動作します:最初の挿入作品と第二がない理由std :: setとNTL :: vec_ZZを黙認します
は#include <NTL/ZZ.h>
#include <NTL/vec_ZZ.h>
#include <set>
NTL_CLIENT
int main(void){
std::set<ZZ> foo;
foo.insert(to_ZZ(1)); //works without problems
std::set<vec_ZZ> vectorFoo;
vec_ZZ vec;
vectorFoo.insert(vec); //causes compiler to crash
return 0;
}
は誰でも知っていますか? ありがとう
標準ライブラリのコンテナには、通常、コピー可能な構成要素と割り当て可能な要素がありますが、使用するライブラリの場合と同じであるかどうかはわかりませんが、2番目の使用方法がこの規則に従わないようです。 –
ああ、そうかもしれない。リストやベクトルでvec_ZZを使うことができます。ちょうどセットではありません.... –
コンパイラがクラッシュしますか?エラーメッセージはありますか?私はvec_ZZが比較演算子を定義する必要があると思います。 –