当使用带有 C++11 的类成员初始化功能的 std::vector 的填充构造函数(任一形式)时,以下代码无法编译(在 clang/llvm 3.6 下):
#include <vector>
class Foo
{
std::vector<char> buf_(10); //compiler error!
std::vector<std::vector<char>> buf2_(10, std::vector<char>(20)); //compiler error!
public:
void Bar();
};
void Foo::Bar()
{
std::vector<char> buf3_(10); //OK
std::vector<std::vector<char>> buf4_(10, std::vector<char>(20)); //OK
}
我已经搜索了有关矢量填充构造函数和类成员初始化的问题,但结果都是空的。知道我错过了什么吗?