用G++编译项目的时候发生标题上的错误,原因是,这是c++ 11标准的。在给g++传递命令行的时候加上-std=c++0x就行了。 还需要在源码中#include<memory> 我的cmakelists里面要这样改: set(CMAKE_CXX_FLAGS ...
这是因为要使用C 的标准编译,而catkin make时无法识别出来。 修改方法是在CMakeLists.txt文件里面添加: 即可。 ...
2019-03-18 16:03 0 4589 推荐指数:
用G++编译项目的时候发生标题上的错误,原因是,这是c++ 11标准的。在给g++传递命令行的时候加上-std=c++0x就行了。 还需要在源码中#include<memory> 我的cmakelists里面要这样改: set(CMAKE_CXX_FLAGS ...
在vs里面: Website->AddReference->.NET->Microsoft.Office.Interop.Excel. 设置之后即可。 ...
在Windows的vs中使用std::mutex没有问题,将代码迁移到ubuntu上后报错:‘mutex’ in namespace ‘std’ does not name a type 解决方法:加上头文件 ...
1.创建 有三种方式,分别为构造函数、std::make_shared<T>辅助函数和reset方法 1.1构造函数 就像普通的类一样,需要在定义变量的时候,使用new 对象作为输入参数。但是这种方法需要两次申请内存空间,第一次是new,第二是智能对象本身需要申请的内存 ...
普通指针与share_ptr的互相转换: struct test { int num; string name; }; test* pTest = new test(); std::shared_ptr<test> ptr_test = std ...
前戏 先抛出两个问题 如果delete一个指针,但是它真实的类型和指针类型不一样会发生什么? 是谁调用了析构函数? 下面这段代码会发生什么有趣的事情? 看一下 ...
想判断一个shared_ptr是否为空,去http://en.cppreference.com/w/cpp/memory/shared_ptr链接找了接口函数,未发现接口判断是否为空。 最后发现很简单,可以直接用if判断来实现。经@egmkang指出是重载了operator bool ...
对于类的声明的头文件,对于include它的任何一个文件,都需要将这个类内部声明的成员需要的头文件include进去。代码如下: 进行编译,由于mai ...