我不明白爲什麼我沒有得到一個警告(使用g ++或鐺++)在下面newtstr()
返回NULL作爲對象沒有得到任何警告。NULL返回時爲對象
$ g++ -Wall -Wextra -pedantic testptr.cpp
$
我做的,但是,得到一個運行時錯誤:
$ ./a.out
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid
Aborted
$
。
$ g++ --version
g++ (GCC) 4.8.0
你已經標記了這個鏗鏘聲++。這是否也適用於鏗鏘聲? –
你爲什麼期待警告?這是一個有效的構造。 – ZDF
@ZDF OP或者不知道隱式的'const char *'強制轉換,或者他期望他的編譯器看到「嘿,這是一個靜態表達式,它給了我一個零指針,'string'ctor試圖做的東西,它應該能夠警告我這件事!「 –