我有一個程序,它分配一個超出它的邊界的數組,我期待一個運行時錯誤被拋出。然而,沒有任何錯誤發生,程序繼續寫入未聲明的內存。有沒有一些編譯器選項來防止這種情況發生?顯示內存轉儲清楚地表明這種邊界的超越是真實的。有沒有辦法聲明變量或參數規格來捕捉這個?顯然這是一個明顯的例子,但是當要維護數千行F77派生代碼時,如果這可能發生,並不總是清楚(對我來說)。 PROGRAM TEST_CODE
IMPLI
我試圖爲我的Bound模板包裝實現一個實例化函數,但我無法讓它工作。我需要這一點是爲了說服人們在工作中,我們應該從切換阿達 至D. 我想這個模板 /** Bounded Value of Type T. */
struct Bound(T,
T min = T.min,
T max = T.max,
bool Exceptional = true) {