簡體   English   中英

包括 <random> 在GCC 4.8中是必需的嗎?

[英]Was including <random> necessary in GCC 4.8?

我繼承了2014年編寫的C ++項目,並且確實可以使用GCC 4.8進行編譯。 在特定文件中,實例化了當前在C ++標准庫的<random>標頭中找到的幾個類。 這些措施包括mt19937random_deviceuniform_real_distributionnormal_distribution

當我使用GCC 7.3編譯此文件時,出現一條錯誤消息,指出這些類未在std名稱空間中定義。 當我包含<random>時,此錯誤(顯然)消失了。

我的問題是,為什么在GCC 4.8中不會發生此錯誤? 這些類以前是否在其他標頭下找到?

標准標題可能包括其他標題 當他們共享一個實現時,這可能會很有用。 但是,這些事情可能會隨着時間而改變,例如,當公共部分重構為第三個(內部)頭文件時。

由於我們不確切知道<random>是如何間接包含在GCC4.8中的,因此我們對所發生的事情不是絕對肯定的,但這並不奇怪。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM