我正在尝试在 Visual Studio 2008 下编译以下代码:
struct test
{
boost::container::vector<int> v1;
};
test v1, v3;
const test & v2 = v3;
v1 = v2;
我得到的错误是:
错误C2679:二进制'=':找不到采用'const test'类型的右手操作数(或没有可接受的转换)
的运算符可能是'test &test::operator =(尝试匹配参数列表'(test, const test)'时测试&)'
当使用普通的 std::vector 而不是 boost::container 等效项时,代码会编译。我正在寻找为什么此代码无法编译以及如何使其编译的答案。