zoukankan      html  css  js  c++  java
  • 2019.11.12的错误集

    错误①
      /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
      .text+0x20): undefined reference to `main'
      collect2: error: ld returned 1 exit status
    解决:asio.hpp ---> asio.cpp(后缀名问题) //在标准库支持的情况下尽可能使用标准库的功能,而不是boost的功能

    错误②
      test.cpp: In function ‘int main()’:
      test.cpp:14:11: error: cannot call member function ‘void A::print()’ without object
      A::print();
    解决:这是在没有定义对象的情况下调用了类的成员函数造成的结果。可以在此函数上加static变量,参考signalton。

    错误③:
      class A {
        private:
          boost::asio::io_context io_;
          A(boost::asio::io_context& io_context) : io_(io_context) { std::cout << " ok " ;}
      };

      int main(){
        boost::asio::io_context io_context;
        A(io);
        io.run();
        return 0;
      }
      test.cpp: In constructor ‘A::A(boost::asio::io_context&)’:
      test.cpp:7:57: error: use of deleted function ‘boost::asio::io_context::io_context(const boost::asio::io_context&)’
      A(boost::asio::io_context& io_context) : io_(io_context) { std::cout << " ok " ;}
    解决:这是一个连续引用的错误问题,应该把A的成员变量io_,定义为boost::asio::io_context&。
       这是因为在构造函数结束后io_context这个引用变量就失效了。
      例子:

     1     #include<iostream>                                                                   
     2     class A {                                                                            
     3       private:                                                                           
     4         int my_;                                                                         
     5       public:                                                                            
     6         A(int& a):my_(a){                                                                
     7           std::cout << "address a :" << &a << std::endl;    //a是引用                             
     8           std::cout << "address my_:" << &my_ << std::endl; //my_是用引用初始化的值。                     
     9       }                                                                                  
    10     };                                                                                   
    11     int main(){                                                                          
    12       int m = 10;                                                                        
    13       std::cout<< "address m :" << &m << std::endl;                                      
    14       A o(m);                                                                            
    15       return 0;                                                                          
    16     }  
        
  • 相关阅读:
    使用ZeroMQ(clrzmq)实现异步通信
    WCF扩展之实现ZeroMQ绑定和protocolBuffer消息编码(一)概要设计
    .net 数据缓存(二)之Redis部署
    .net 数据缓存(一)之介绍
    如果css足够强大了,你还会用编程的方式实现去实现css已有的功能吗?
    我想做一个合格的工程师
    当新手使用JS库遇到问题怎么办
    JS(JavaScript)脚本库的积累
    ASP.NET MVC 必备开发环境
    z-albert之开启博文之路
  • 原文地址:https://www.cnblogs.com/Ccluck-tian/p/11842053.html
Copyright © 2011-2022 走看看