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