私のコスト作成ツールの中にboolのベクトルのベクトルを初期化します。クラスベクトルのベクトルを初期化するためのコンストラクタ
これは私のクラスである:
class MyClass{
public:
MyClass(const OtherClass&g):
g(g), count(g.node_count(), std::vector<bool>(16))){}
private:
const OtherClass&g;
std::vector<std::vector<bool>>count;
};
が、私はcount
を初期化しようとすると、私はこのエラーを取得:
error: no match for call to ‘(std::vector<std::vector<bool> >) (int)’
[回避しない](https://isocpp.org/blog/2012/11/on-vectorbool) 'ベクター'はハイブリッドモンスターです。代わりに['std :: bitset <>'](http://en.cppreference.com/w/cpp/utility/bitset)を使うことができます。 –
vsoftco
奇妙な理由は、あなたは16 boolが必要であることが分かっている場合にベクトルを使用しますか?なぜ 'const OtherClass&'?このデザインで問題が発生しました。あなたが他のオブジェクト(B)にオブジェクト(A)の参照を与えるとき、このオブジェクト(A)は彼(B)に属するべきです、なぜ 'const'ですか? (多分あなたは彼を修正したくないので、大丈夫です) – Stargateur