用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 ...