草庐IT

c++ - 文件 basic_socket.hpp 中的 lib boost asio 1.47.0 出错

当我尝试编译时,以下代码出现错误:voidServer::accept(void){Network::ptrconnection=Network::initialize(this->my_acceptor.get_io_service());this->my_acceptor.async_accept(connection->socket(),bind(&Server::endCmd,this,*connection,placeholders::error));}voidServer::endCmd(Networkconnection,constboost::system::error

c++ - 将 std::unique_ptr 传递给类时出错

我必须创建从抽象类继承的类的实例。我的代码非常简单。它应该基于抽象类创建对象类的实例。抽象类也是模板类。然后我需要将这个对象放入保存指向该对象的指针的存储类中。传递指针时出现错误:templates.cpp:Inmemberfunction‘voidstorage::setPTR(std::unique_ptr&)’:templates.cpp:39:28:error:useofdeletedfunction‘std::unique_ptr&std::unique_ptr::operator=(conststd::unique_ptr&)[with_Tp=child;_Dp=std::

c++ - 将临时对象附加到对 const 的引用时出错

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:typedefandcontainersofconstpointers为什么代码会发出错误?intmain(){//testcodetypedefint&Ref_to_int;constRef_to_intref=10;}错误是:error:invalidinitializationofnon-constreferenceoftype‘int&’fromatemporaryoftype‘int’我阅读了prolongingthelifetimeoftemporaries上的帖子这表示临时对象可以绑定(bind

C++0x:std::function::target 和模板参数出错

我目前使用C++0x编写事件处理程序系统。每个事件的“处理程序”(可以有多个处理程序)通过传递可以存储在std::function中的任何类型的函数/方法来注册。目的。这是使用重载的+=运算符以C#风格完成的。我的事件类看起来基本上是这样的(为了更好的可读性而被剥离):templateclassEvent{public:typedefTHandlerReturn(HandlerSignature)(THandlerArgs...);typedefTHandlerReturn(*HandlerFuntionPtr)(THandlerArgs...);typedeftypenamestd:

c++ - 使用boost编译时出错

我写的项目使用,我添加了include目录到AdditionalIncludedirectories,和lib链接器的文件夹。但是当我尝试构建解决方案时,出现错误:Error1errorLNK1104:cannotopenfile'libboost_thread-vc100-mt-sgd-1_50.lib'我在lib目录中搜索了这个文件,但是在lib目录中没有这个名字的文件。我找到了名称相似的文件libboost_thread-vc100-mt-gd-1_50.我做错了什么? 最佳答案 您的问题似乎与thisquestion中的问题

c++ - 如果我将指针设置为 NULL,则两次释放同一指针不会出错

我尝试两次释放同一个指针,但都失败了,但如果我按照相同的步骤而不将其设为NULL,代码运行正常。#includestructMyClass{MyClass(){std::cout我看到问题的一个很好的答案WhathappenswhenyoudeallocateapointertwiceormoreinC++?但是如果我将它设为NULL,是什么让它运行,这两种情况不应该遵循相同的行为? 最佳答案 你只需要释放你分配的东西。您使用new[]分配了五个MyClass实例。所以这就是您需要解除分配的内容。您没有释放任何指针。指针不需要被释放

c++ - "Function not declared in this scope"编译openCV代码出错

我正在尝试编写一些使用openCV函数的代码。我从文档中提供的一些示例代码开始:#include#include#includeusingnamespacecv;usingnamespacestd;intmain(intargc,char**argv){if(argc!=2){cout当我尝试在Eclipse-CDT中构建它时,我得到了这个:****BuildofconfigurationDebugforprojectopenCV1****makeallBuildingtarget:openCV1Invoking:CrossG++Linkerg++-L/usr/local/lib-o"

c++ - 在 C++ 中重载 "+"orerator 时 that.vect.push_back(0) 和 that.vect.begin() 出错

classPolinom{public:std::vectorvect;Polinomoperator+(constPolinom&that){if(this->vect.size()>that.vect.size()){for(inti=that.vect.size();ivect.size();i++)that.vect.push_back(0);//here}elseif(that.vect.size()>this->vect.size()){for(inti=this->vect.size();ivect.push_back(0);}std::vectorsum;std::ve

使用Python加密密码时会出错

我在使用密码加密密码时会遇到以下错误bz2使用Python的模块。在这里,我保存了DB内的加密值。错误:ProgrammingErrorat/signsave/Youmustnotuse8-bitbytestringsunlessyouuseatext_factorythatcaninterpret8-bitbytestrings(liketext_factory=str).ItishighlyrecommendedthatyouinsteadjustswitchyourapplicationtoUnicodestrings.RequestMethod:POSTRequestURL:http:

c++ - 为什么整数溢出会导致 C++ iostream 出错?

好的,所以我对C++iostream有一些感觉很奇怪的问题,但它可能是定义的行为,考虑到MSVC++和G++都会发生这种情况。假设我有这个程序:#includeusingnamespacestd;intmain(){inta;cin>>a;cout>a;cout如果我通过给第一个cin一个大于int的最大限制的值来故意溢出,所有对cin.operator>>()的进一步调用将由于某种原因立即返回,并且a被设置为某个值。该值似乎未定义。为什么,这种行为记录在哪里?有没有办法确定是否发生了这种溢出?另外,这个类似的程序似乎可以按我的预期运行。如果我溢出该值,它会为a提供一些值,并继续进行,