某一函數需要 類型為 shared_ptr<const
vector<shared_ptr<OBXX>>>的參數,我的程序需要組裝這一參數,所以聲明時是shared_ptr<vector<shared_ptr<OBXX>>>,沒有其中的const,等我得到值之后要傳入,總是報告參數類型不正確,從非const到const不應該是很合理的事嗎(又不是從const到非const)?為什么還要求轉換?這不是c++語言應該處理的事情嗎?如何轉換呢?
2 回答

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
樓主用的是哪個編譯器,我用VC和g++試了沒有問題啊,下面的代碼可以正常編譯
g++的編譯命令:g++ -std=c++0x test.cpp
不知道樓主是不是下面這個意思
#include <vector> #include <memory> using namespace std; class A { public: int ccc; int GetCCC() { return this->ccc; } }; void fun(shared_ptr<const vector<shared_ptr<A>>>) { } int main() { shared_ptr<vector<shared_ptr<A>>> a; fun(a); return 0; }
- 2 回答
- 0 關注
- 769 瀏覽
添加回答
舉報
0/150
提交
取消