請問該如何把raw pointer 當argument丟給參數是unique_ptr的function呢?
實際情況約如下(太短就不貼其他地方了):
void TestUP (unique_ptr<int*> temp)
{
**temp = 100;
}
int main (void)
{
int a {10};
TestUP (make_unique<int*>(&a));
return 0;
}
上面這個結果Run得出來...
可是make_unique是14的東西,我要使用的環境只支援到11。
而且語意也很奇怪...
我要丟一個東西讓function修改,應該是丟指標就夠了,卻要丟掉指標的指標。
另外有嘗試過
unique_ptr<int>(&a)
可是在function裡面必須自己release,造成語意很奇怪。
請問有甚麼辦法解決呢?
謝謝~!