我是提升共享数组的新手。
现有代码声明了两个数组:
boost::shared_array<unsigned char> src;
boost::shared_array<unsigned char> dest;
我要做的就是交换每个数组指向的内容(src 变成 dest,dest 变成 src)。据我了解, shared_array.get() 方法返回一个指向其元素之一的指针(可以是任何类型)。
所以我添加的声明是:
boost::shared_array<unsigned char> temp;
我添加的代码是:
temp.get() = src.get();
src.get() = dest.get();
dest.get() = temp.get();
这些行中的每一行都失败了;编译错误是 C2016: '=' : 左操作数必须是左值。
我是 C++ 新手,所以我用谷歌搜索了这个错误,发现该错误消息意味着左手操作数不可赋值。然而,左侧都是指针,并且可以将指针分配给其他指针。
所以我不确定我做错了什么。有人可以帮我吗?
提前致谢。
吉布