http://en.cppreference.com/w/cpp/container/vector/vector列出了所有的向量ctors。 但是,以下兩個構造函數會導致編譯問題。通常在調用一個過程中,我們會結束調用其他過程。如何明確提到std :: vector的構造函數?
vector(size_type count,
const T& value,
const Allocator& alloc = Allocator());
vector(std::initializer_list<T> init,
const Allocator& alloc = Allocator());
而且它通常歸結爲改變{}到()或反過來使事情工作。
有沒有辦法讓Ctor的選擇清晰?而不用擔心方括號。
P.S.-如果你把正確的括號,下面的代碼完美的作品。
vector{elem1, elem2}; // Initializer list version
vector(vector_size, elem); // A vector of size `vector_size` all the items having value = elem
我不明白你的問題。你在問什麼? – Barry
我不明白這個問題何時出現。你能否舉一個例子來說明選擇使用哪一種模糊不清? – dingalapadum
std :: vector v {4,false};不編譯。 –
gjha