2017-04-07 50 views
-1

這下面的代碼並不想編譯:CPP參考性病的指針::列表

#include <list> 

int main() 
{ 
    std::list<int *&> l; 

    return 0; 
} 

這是一個* &,而不是隻是一個*。 爲什麼?何必爲什麼這不起作用?我試圖在互聯網上尋找答案,但沒辦法得到相關的東西。你能幫忙嗎?

祝您有美好的一天!

+1

究竟你希望用的指針引用的列表來完成? –

+0

我已經讀過這個,它不是同一種類型。在這裏,我有一個*& –

+0

我希望省去一些內存引用指針,它不是我的程序中的一個int,它是一個對象。 –

回答

1

不允許使用容器類型的引用。但是你可以使用std :: reference_wrapper來代替。

std::list<std::reference_wrapper<int>> l; 

或者你可以使用指針的指針

std::list<int**> l;