0

在我当前的项目中,我们必须为 openSUSE - 12.1 和 powerPC 编译源代码。
该项目是用 C++11 编写的。

openSUS 使用 gcc-4.7.2
构建 powerPC 使用 powerpc-e500v2-linux-gnuspe 构建

我有一个纯虚拟基类(虚拟析构函数和一些虚拟函数),我们称之为 VirtualIf

我现在想这样做:

someStdMap[key] = std::vector<std::unique_ptr<VirtualIf> >();

用唯一的 ptr 初始化向量和

someStdMap[key].push_back(std::move(uniquePtrToVirtualIf));

将它们添加到该向量

这在 gcc 构建上完美运行,但在 powerPC 构建上失败:

deleted function 'std::unique_ptr<_Tp, _Tp_Deleter>...

在两条线上。

我知道这个错误意味着默认构造函数被删除了,但是为什么呢?为什么这两个编译器之间有区别?我怎样才能为手臂构建解决这个问题?

4

1 回答 1

0

这似乎是一个编译器问题。更新编译器解决了这个问题。

于 2012-10-23T08:40:39.170 回答