我尝试在声明期间在向量中移动一些unique_ptr,我收到错误.我想我在不知情的情况下制作副本.
我不明白为什么我在声明中遇到问题,而在push_back期间它工作得很好.
我用几行简化了问题.
#include <iostream>
#include <vector>
#include <memory>
using namespace std;
int main() {
unique_ptr<int> i1 = make_unique<int>(142);
unique_ptr<int> i2 = make_unique<int>(242);
unique_ptr<int> i3 = make_unique<int>(342);
vector<unique_ptr<int>> v;
//Those lines work
v.push_back(move(i1));
v.push_back(move(i2));
v.push_back(move(i3));
//ERROR
vector<unique_ptr<int>> v2 {move(i1), move(i2), move(i3)};
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误是:
use of deleted function 'std::unique_ptr<_Tp, _Dp>::unique_ptr(const
std::unique_ptr<_Tp, _Dp>&) [with _Tp = int; _Dp =
std::default_delete<int>]'
{ ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
谢谢 !
据我所知,cookies的数量有两个限制:
如果我超过其中一个限制会怎么样?
我需要在精确的持续时间内运行循环.例如,我试图制作的代码看起来像这样:
initialize and lauch timer
while timer<10000sec:
do things
Run Code Online (Sandbox Code Playgroud)
你知道怎么做吗?
谢谢 :)
我是unix的初学者,所以如果我发布一些简单的话,我很抱歉.另外我不得不承认我没有掌握所有的过程.
我需要在我的ubuntu上安装zeromq.
我安装了python 2.6.6
我按照UNIX系统网站上的说明进行操作:http://www.zeromq.org/intro: get- the- software,然后是http://www.zeromq.org/bindings:python.
我确切地说:
(此时我没有收到任何错误)
但是当我键入:sudo easy_install pyzmq我得到错误:
zmq/core/constants.c:4:致命错误:Python.h:没有终止此类文件或目录编译.错误:命令'gcc'失败,退出状态为1
如果我尝试手动安装,我会收到相同的错误.
我不知道该做什么,我找不到有同样问题的人.
我提前感谢你的帮助.